1

昨天我下载了Qt4 Opensource library for linux。运行后

./configure
./make
./make install

并将其插入到我的 .bashrc 文件中:

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

在此之后,我运行 cmake 以便为我生成一个 Makefile。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)

此 CMakeLists.txt 在 Windows 上运行良好,但是当我尝试在安装的 Ubuntu 上编译输出时,会出现此错误:

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

谁能在这里指出我的问题?

4

1 回答 1

3

在 unix[like] 世界中,斜杠是路径分隔符,而不是反斜杠。

\usr\local\TrollTech\Qt-4.7.3\bin评估为usrlocalTrollTechQt-4.7.3bin

编辑:另外,你的 CMakeLists.txt 似乎有点犯规。看看http://qtnode.net/wiki/Qt4_with_cmake。代替

target_link_libraries(VTKToVTFx QtCore4)

使用类似的东西(来源是链接的网站):


  • 要添加对 Qt4 库(如 network 或 qttest)的支持,您需要同时添加包含文件和相应的库。例如,要添加对网络和 qttest 库的支持,您可以使用:
INCLUDE_DIRECTORIES(
   ${QT_INCLUDE_DIR}
   ${QT_QTNETWORK_INCLUDE_DIR}
   ${QT_QTTEST_INCLUDE_DIR}
)

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

即使在 4.x 版本中,库也已重命名并将被重命名。幸运的是,不需要硬编码:)

于 2011-07-08T08:51:31.010 回答