2011-07-08 6 views
1

Hier j'ai téléchargé le . Après avoir exécutéErreur de compilation: "impossible de trouver -lQtCore4"

./configure 
./make 
./make install 

et en insérant ceci dans mon .bashrc fichier:

PATH=/usr/local/TrollTech/Qt-4.7.3/bin:$PATH 
export PATH 

Après cela, je courais CMake pour produire un Makefile pour moi. CMakeLists.txt:

project(VTKToVTFx) 

cmake_minimum_required(VERSION 2.6) 

find_package(VTK REQUIRED) 
find_package(Qt4 REQUIRED) 

include(${VTK_USE_FILE}) 
include(${QT_USE_FILE}) 

SET(VTK_TO_VTFX_FORMS main.ui) 
QT4_WRAP_UI(VTK_TO_VTFX_FORMS_UIC ${VTK_TO_VTFX_FORMS}) 

SET(MOC_HEADERS VTKToVTFx.h) 
qt4_wrap_cpp(MOC_OUTFILES ${MOC_HEADERS}) 

SET(CPP_SOURCES VTKToVTFx.cpp 
       VTKPatch.cpp 
       VTKFile.cpp 
       VTKData.cpp 
       VTKDataHolder.cpp 
       ) 

add_executable(VTKToVTFx ${CPP_SOURCES} ${VTK_TO_VTFX_FORMS_UIC} ${MOC_OUTFILES}) 

# Adds folders for Visual Studio solution explorer (and for Xcode explorer) 
source_group("Generated"   FILES ${MOC_FILES_CPP} ${VTK_TO_VTFX_FORMS_UIC} ${QRC_FILES_CPP} ${MOC_OUTFILES}) 

INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) 

target_link_libraries(VTKToVTFx vtkHybrid) 
target_link_libraries(VTKToVTFx QtCore4) 
target_link_libraries(VTKToVTFx QtGUI4) 

Ce CMakeLists.txt fonctionne parfaitement bien sur Windows, mais quand je tente de compiler la sortie sur mon installation d'Ubuntu, cette erreur se produit:

/usr/bin/ld: cannot find -lQtCore4 
/usr/bin/ld: cannot find -lQtGUI4 

Toute personne qui pourrait pointer moi à mon problème ici?

+0

Les barres obliques? Les antislashs? Linux? Les fenêtres? –

+0

Désolé, j'ai utilisé les barres obliques correctes, mais je l'ai simplement mal écrit ici. J'ai mis à jour mon post ci-dessus. J'utilise Ubuntu 11.04. –

+0

Une raison pour laquelle vous n'utilisez pas les [packages existants] (http://packages.ubuntu.com/natty/libqt4-dev)? – sehe

Répondre

3

Dans le monde unix [like], le slash est le séparateur de chemins, pas le backslash.

\usr\local\TrollTech\Qt-4.7.3\bin est évalué à usrlocalTrollTechQt-4.7.3bin.

éditer: Aussi, votre CMakeLists.txt semble un peu fautif. Jetez un oeil à http://qtnode.net/wiki/Qt4_with_cmake. Au lieu de

target_link_libraries(VTKToVTFx QtCore4) 

utiliser quelque chose comme (source est le site lié):


  • To add support for Qt4 libraries like network or qttest, you need to add both the include files and corresponding libraries. For example, to add support for the network and qttest libraries, you can use:
INCLUDE_DIRECTORIES(
    ${QT_INCLUDE_DIR} 
    ${QT_QTNETWORK_INCLUDE_DIR} 
    ${QT_QTTEST_INCLUDE_DIR} 
) 

TARGET_LINK_LIBRARIES(
    ${QT_LIBRARIES} 
    ${QT_QTNETWORK_LIBRARIES} 
    ${QT_QTTEST_LIBRARIES} 
) 

Même dans la ligne 4.x de presse, les bibliothèques ont été renommés et sera renommé. Heureusement, il n'y a pas besoin de hardcodery :)

+0

Désolé, j'ai utilisé les barres obliques correctes, mais je l'ai simplement mal écrit ici. J'ai mis à jour mon post ci-dessus. –

+0

@Steinar Lima: J'ai édité ma réponse. –

+0

Merci, cela a fait l'affaire! Impressionnant! :) –

Questions connexes