我想为应用程序构建一个插件,我正在使用cmake作为构建系统。
以下是代码:
INCLUDE_DIRECTORIES(${PLUGIN_BINARY_DIR} ${POGRAM_INCLUDE_DIR} ${PLUGIN_SOURCE_DIR}/src
${MYSQL_INCLUDE_DIR})
SET(PLUGIN_SRCS list of cpp files)
ADD_LIBRARY(libmyplug MODULE ${PLUGIN_SRCS})
SET_TARGET_PROPERTIES(libmyplug PROPERTIES OUTPUT_NAME "myplug")
INSTALL(TARGETS libmyplug LIBRARY DESTINATION lib)
编译很好但是当它链接共享模块时,它会因以下错误而失败:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.5/../../../../x86_64-pc-linux-gnu/bin/ld:
cannot find -l-lstdc++
collect2: ld returned 1 exit status
为什么链接到标准c ++库失败?然后库名似乎是错误的,但它由cmake自动解决。