【发布时间】:2017-09-27 23:15:07
【问题描述】:
当我使用命令行编译代码时,一切正常:
g++ main.cpp -lpngwriter
但是当我尝试使用 cmake 时,我得到未定义的引用错误。 CMakeLists.txt:
cmake_minimum_required(VERSION 3.8)
project(myproject)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lpngwriter")
set(SOURCE_FILES main.cpp)
add_executable(myproject ${SOURCE_FILES})
有什么解决办法吗?
【问题讨论】:
-
考虑在
add_executable()之前添加include_directories(/path/to/include)和link_directories(/path/to/lib)。然后target_link_libraries(pngwriter)在add_executable()之后。请用相关值替换/path/to。 -
非常感谢,添加后:include_directories(C:/MinGW/include) link_directories(C:/MinGW/lib) 和:target_link_libraries(myproject pngwriter) 效果很好
-
不客气。我应该重新发布我的建议作为答案吗?
-
是的,我认为这是个好主意。