【问题标题】:Dynamic link error cmake动态链接错误 cmake
【发布时间】: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) 效果很好
  • 不客气。我应该重新发布我的建议作为答案吗?
  • 是的,我认为这是个好主意。

标签: c++ cmake


【解决方案1】:

考虑在add_executable() 之前添加include_directories(/path/to/include)link_directories(/path/to/lib)

然后在add_executable()之后插入target_link_libraries(pngwriter)

/path/to 应替换为您系统的相关值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多