Articles of cmake

在QtCreator中导入一个CMake项目

我试图导入我的Cmake项目在QtCreator中,我想用作代码编辑器,但与Qt类完成的可能性通过Ctrl + R构build 当导入Cmake项目时,当我尝试selectRunCmake时,QtCreator ide在运行CMakeWizard时挂起。 如果我取消一个空的窗口popup,并没有生成项目。 是否有可能在QtCreator中导入现有的cmake项目? Ubuntu 10.10 x86_64,QtCreator 2.6

Windows上的Cmake不会添加共享库path(适用于Linux)

我一直在Linux上使用CMake和Eclipse一段时间,一直在处理包含众多可执行文件和共享对象的多个目标项目。 我使用了源代码构build和在Linux上的二进制文件被放到自己的目录。 当我在linux上执行这个操作时,eclipse以某种方式能够find共享对象,并且很好地运行可执行文件,但是在Windows上这种情况不会发生。 在Windows上,我不得不添加一个指向dll的PATH环境variables,或者我可以将其构build到一个bin和lib目录中(尽pipe我过去曾经用过一个我忘记的问题,使我想避免这个问题) 。 为什么这在Windows上运行不同于linux? 这是我失踪的设置还是这只是不工作? 构build本身正在完美工作。 我正在使用MinGW,Eclipse Kepler和Windows 7 64位。 提前致谢。

为什么CMake在交叉编译Net-SNMP代理的时候显然是指主机系统文件,尽pipe正在使用正确的工具链文件?

我正在开发一个Net-SNMP子代理,其最终目标将是一个ARM板,所以我使用CMake来更容易地pipe理构build本地和交叉编译的版本。 我开始在我的主机平台(x86_64)上进行testing,并使用CMakeLists.txt文件构build并正常工作: cmake_minimum_required (VERSION 2.6) project (snmp_agent C) set(snmp_agent_VERSION_MAJOR 1) set(snmp_agent_VERSION_MINOR 0) # Defines path to the net-snmp-config script set(NETSNMPCONFIG "${CMAKE_FIND_ROOT_PATH}/usr/bin/net-snmp-config") # Gets compiling flags and libs linked to Net-SNMP execute_process(COMMAND "${NETSNMPCONFIG}" "–base-cflags" OUTPUT_VARIABLE NETSNMPCFLAGS) execute_process(COMMAND "${NETSNMPCONFIG}" "–agent-libs" OUTPUT_VARIABLE NETSNMPLIBS) # Removes leading/trailing spaces from net-snmp-config output string(STRIP ${NETSNMPCFLAGS} NETSNMPCFLAGS) string(STRIP ${NETSNMPLIBS} NETSNMPLIBS) # Prints […]

在cmake:Linux中使用CPack生成两个不同的包

我想为我的项目创build两个不同的包。 DCM(包括除RCM特定模块以外的所有模块) RCM(特定模块) 1. DCM: src / CMakeList.txt cmake_minimum_required (VERSION 2.8) add_subdirectory(ecs) # Include all modules set(CPACK_GENERATOR TGZ) set(CPACK_PACKAGE_NAME "dcm") set(CPACK_PACKAGE_VENDOR "AB") set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Device Control") set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReadMe.txt") set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt") set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR}) set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR}) set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH}) set(CPACK_PACKAGE_VERSION_BUILD ${BUILD_NUMBER}) set(CPACK_COMPONENTS_ALL DCM RCM ) # Include CPack to introduce the appropriate targets include(CPack) 2. RCM: src / ecs […]

CMake为Tesseract和OpenCV

我是Linux编程的新手,我正在尝试使用Tesseract和OpenCV在Ubuntu 12.10上创build一个OCR应用程序。 到目前为止,我已经在Linux上设置了tesseract和OpenCV ,我也按照这个教程 ,在本教程中,我发现创build一个文件CMakeList.txt并链接OpenCV非常简单。 现在我正在尝试使用此代码编译tesseract-ocr库。 据我所知,我没有在tesseract-ocr和我的代码之间build立链接,这就是为什么我有错误。 所有我想要和search的是,如果我可以在一个文件中使用CMake链接Tesseract和OpenCV ,如果可能的话。 一个教程将是好的,因为我是完全新的Linux。 提前致谢

CMake错误:在这个项目中使用下列variables,但它们被设置为NOTFOUND

我正在尝试使用tar文件whalebot-0.02.00.tar.gzconfigurationwhalebot爬虫。 我已经正确提取它: root@Admin1:~/dls# tar xvzf whalebot-0.02.00.tar.gz 之后,我想configuration它: root@Admin1:~/dls/whalebot# ./configure 它给我错误: bash:./configure:没有这样的文件或目录 我也运行命令: root@Admin1:~/dls/whalebot# cmake ./ 它给了我以下结果: root@Admin1:~/dls/whalebot# cmake ./ — The C compiler identification is GNU — The CXX compiler identification is GNU — Check for working C compiler: /usr/bin/gcc — Check for working C compiler: /usr/bin/gcc — works — Detecting C compiler ABI info […]

cmake:如何在安装时更改文件权限?

我有一个文件设置了660标志,但是我想安装700标志设置。 我该怎么做? 如何更改文件权限,而不更改源文件的权限? 我的安装命令是这样的: install( FILES common.sh DESTINATION /rootfs/usr/bin ) 这是我试过的(但不起作用): install( FILES common.sh FILE_PERMISSIONS "600" DESTINATION /rootfs/usr/bin )

在CentOS上用Python模块安装OpenCV出错了

当我运行这个命令来安装Python模块的OpenCV cmake ../ -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_EXAMPLES=ON -DBUILD_NEW_PYTHON_SUPPORT=ON -DINSTALL_PYTHON_EXAMPLES=ON -DPYTHON_EXECUTABLE=/usr/local/bin/python2.7 -DPYTHON_INCLUDE_DIR=/usr/local/include/python2.7/ -DPYTHON_LIBRARY=/usr/local/lib/python2.7/config/libpython2.7.a -DPYTHON_NUMPY_INCLUDE_DIR=/usr/local/lib/python2.7/site-packages/numpy/core/include/ -DPYTHON_PACKAGES_PATH=/usr/local/lib/python2.7/site-packages/ -DBUILD_PYTHON_SUPPORT=ON 我得到这个错误消息。 /usr/bin/ld: /usr/local/lib/python2.7/config/libpython2.7.a(abstract.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC /usr/local/lib/python2.7/config/libpython2.7.a: could not read symbols: Bad value collect2: ld returned 1 exit status make[2]: *** [lib/cv2.so] Error 1 make[1]: *** [modules/python/CMakeFiles/opencv_python.dir/all] Error […]

OpenCV_FOUND为FALSE,因此包“OpenCV”被认为是未find的

我目前有问题,试图让我的cmake看到我的opencv。 我已经安装了opencv,可以运行一些示例问题,并且有一些错误与我在cmake文件中得到的错误相同(当通过terminal运行示例程序时) 我试图改变环境variables的path,如http://answers.opencv.org/question/35125/cmake-linking-error-opencv_found-to-false-ubuntu/ 我的bashrc文件现在看起来像 CMAKE_PREFIX_PATH=/home/durham/Desktop/OpenCV/opencv-2.4.9:$CMAKE_PREFIX_PATH CPATH=/home/durham/Desktop/OpenCV/opencv-2.4.9/include:$CPATH LD_LIBRARY_PATH=/home/durham/Desktop/OpenCV/opencv-2.4.9/lib:$LD_LIBRARY_PATH PATH=/home/durham/Desktop/OpenCV/opencv-2.4.9bin:$PATH PKG_CONFIG_PATH=/home/durham/Desktop/OpenCV/opencv-2.4.9/lib/pkgconfig:$PKG_CONFIG_PATH PYTHONPATH=/home/durham/Desktop/OpenCV/opencv-2.4.9/lib/python2.7/dist-packages:$PYTHONPATH 和/etc/ld.so.conf的内容是 include /etc/ld.so.conf.d/*.conf include /home/durham/Desktop/OpenCV/opencv-2.4.9 我试图运行的cmake文件看起来像这样 cmake_minimum_required(VERSION 2.6) if(POLICY CMP0020) cmake_policy(SET CMP0020 NEW) endif(POLICY CMP0020) SET(CMAKE_VERBOSE_MAKEFILE TRUE) SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/config) ADD_DEFINITIONS(-DQT_THREAD_SUPPORT -D_REENTRANT -DQT_NO_DEBUG -DIQRMODULE) SET(QT_MT_REQUIRED TRUE) find_package(Qt5Widgets) FIND_PACKAGE(OpenCV REQUIRED) IF(NOT DEFINED IQR_INCLUDE_DIR) set (IQR_INCLUDE_DIR "/usr/include/iqr") #default for linux ENDIF(NOT DEFINED IQR_INCLUDE_DIR) IF(NOT EXISTS ${IQR_INCLUDE_DIR}) message(STATUS "not […]

从现有的Makefile创buildCMakeLists文件

我想用cmake为C ++项目生成我的构build文件。 我有一个现有的Makefile 。 我有问题使用标准的cmake语法生成这个Makefile 。 如何在-lstdc++ -lpthread -lboost_thread-mt的TARGET_LINK_LIBRARIES部分包含标准C ++库,如-lstdc++ -lpthread -lboost_thread-mt ? 或者应该将这些文件包含在ADD_DEPENDENCIES部分。 (或)是否有一个简单的工具从Makefile生成一个CMakeList.txt文件