我正在尝试将PLplot
用于C项目中的可视化。
但是,虽然标题和库似乎被正确包含(cmake
没有返回错误),但当我尝试实际使用某些PLplot函数时,我得到的错误类似于undefined reference to 'c_plinit'
和{{ 1}}
我想这是一个链接器问题,它似乎是一个常见的问题。但是,我在谷歌上发现的东西要么不适用于我的情况,要么对于像我这样的初学者来说不够详细。
请注意,如果我添加CMakeLists.txt:
ld returned 1 exit status
我得到以下输出:
message(${PLplot_INCLUDE_DIRS})
message(${PLplot_LIBRARY_DIRS})
message(${PLplot_LIBRARIES})
请帮忙!
修改: CMakeLists.txt的相关行如下:
/usr/local/include/plplot
/usr/local/lib
/usr/local/lib/libplplotcxxd.so
然后,在名为# The directory with the FindPLplot module
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")
FIND_PACKAGE(PLplot REQUIRED)
SET(PLplot_LIBRARIES ${PLplot_LIBRARIES} ${PLplot_cxx_LIBRARY})
INCLUDE_DIRECTORIES(${PLplot_INCLUDE_DIRS})
LINK_DIRECTORIES(${PLplot_LIBRARY_DIRS})
ADD_EXECUTABLE(main main.c)
TARGET_LINK_LIBRARIES(main ${PLplot_LIBRARIES})
INSTALL(TARGETS main DESTINATION bin)
的文件夹下,有一个cmake
模块类似于此处的模块:https://github.com/mrquincle/polychronization/blob/master/cmake/