cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
project(ImageProc)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
find_package(PCL 1.2 REQUIRED)
find_package(OpenCV REQUIRED)
add_definitions( -fPIC -Wall -O3)
include_directories(${PCL_INCLUDE_DIRS})
#link_directories(${PCL_LIBRARY_DIRS}) Dont think neccesary..
add_definitions(${PCL_DEFINITIONS})
add_executable (ImageProc svm.cpp ImageProc.cpp testImageProc.cpp)
target_link_libraries (ImageProc ${OpenCV_LIBS} ${PCL_LIBRARIES})
add_library(ImageProcLib STATIC svm.cpp ImageProc.cpp)
target_link_libraries (ImageProcLib ${OpenCV_LIBS} ${PCL_LIBRARIES})目前,我运行它并使用VS C++打开并生成一个exe和lib。exe在我的机器上运行。
目前的限制:
当我把exe传递给我的朋友时,他不能在他的机器上运行它,因为他会被大量丢失的dll击中。当我使用lib文件在VS C++中创建一个新项目时,在找不到头文件时会出现致命的错误。
我知道,我可以手动添加所有的all,或者打包库的所有头文件和库文件。但它绝对是累赘和丑陋的。
问题:
CMake是否提供了一种方法,以便在编译为
发布于 2012-05-07 19:13:43
准备在其他开发环境上部署的包仍然是一项艰巨的任务。您将需要正确设置您自己的接口/API,并需要处理跨dll问题、不同的运行时等。
但是,您可以使用CMake提供的一些工具:
install或package目标。还请参阅这和这问题,演示如何将第三方dll添加到这样的部署包中。https://stackoverflow.com/questions/10480349
复制相似问题