+-CMakeLists.txt
|
+---Dir1
|- source_file1.c
|- CMakeLists.txt
+---Dir2
|- source_file2.c
|- CMakeLists.txt
+---Dir3
|- header_file.h
我有一个使用cmake创建的共享库abc.so
此库有2个未定义的名称:
U do_something1
U do_something2
这两个文件都在另一个目录中的Headerfile.h中定义。此文件是source_file1.c和source_file2.c
的SOURCE_FILE的一部分但是我无法在库中解析未定义的符号!这是非常奇怪的。我做错了什么?
使用-fPIC -rdynamic编译代码。 由于某种原因,-Wl --export-all-symbols出现在编译器中无法识别。编译器是gcc 5.4.0
答案 0 :(得分:0)
一个。将内联函数声明为静态修复了该问题。 湾如果c文件包含带静态内联的标题
谢谢(@Tsyvarev)