2014-05-07 38 views
0

我已经下载libviso2库,它附带CmakeLists.txt。 要使用visual studio 11编译器构建libviso2,需要在CmakeLists.txt中将libpng作为依赖项添加。修改CMake文件以添加libpng

现在我的问题是:

如何修改CMakeLists.txt建立我的项目之前添加的libpng?

CMakeLists.txt是:

# project 
cmake_minimum_required (VERSION 2.6) 
project (libviso2) 

# directories 
set (LIBVISO2_SRC_DIR src) 

# include directory 
include_directories("${LIBVISO2_SRC_DIR}") 

# use sse3 instruction set 
SET(CMAKE_CXX_FLAGS "-msse3") 

# sources 
FILE(GLOB LIBVISO2_SRC_FILES "src/*.cpp") 

# make release version 
set(CMAKE_BUILD_TYPE Release) 

# demo program 
add_executable(viso2 ${LIBVISO2_SRC_FILES}) 
target_link_libraries (viso2 png) 

回答

0

Asumming说的libpng安装在drive:\path\to\libpng,其中的libpng安装应具有以下文件夹的目录:binincludelib。根据您拥有的版本,drive:\path\to\libpng\lib中的文件应该命名为libpngXX.lib,其中XX是您的库的版本。

所以你libviso2 CMakeLists应该是这个样子

# project 
cmake_minimum_required (VERSION 2.6) 
project (libviso2) 

# directories 
set (LIBVISO2_SRC_DIR src) 

# include directory 
include_directories("${LIBVISO2_SRC_DIR} drive:/path/to/libpng/include") 

# link directories 
link_directories("drive:/path/to/libpng/lib") 

# use sse3 instruction set 
SET(CMAKE_CXX_FLAGS "-msse3") 

# sources 
FILE(GLOB LIBVISO2_SRC_FILES "src/*.cpp") 

# make release version 
set(CMAKE_BUILD_TYPE Release) 

# demo program 
add_executable(viso2 ${LIBVISO2_SRC_FILES}) 
target_link_libraries (viso2 libpngXX) 

使用cmake GUI,你应该能够生成一个Visual Studio项目和编译viso2.exe可执行文件。请注意,libviso2中的CMakeLists文件只是构建viso2可执行文件而不是库。

要运行viso2.exe程序,您需要将drive:\path\to\libpng\bin添加到您的Path环境变量中。