-2
我有以下設置:鏈接到庫目標從不同的子目錄
在一個文件夾lib
:
lib.h
#ifndef LIB_H_
#define LIB_H_
int fun(int i);
#endif
lib.c
#include "lib.h"
int fun(int i) {
return i;
}
CMakeLists.txt
add_library(lib SHARED lib.c)
在目錄src
:
的main.c
#include "lib.h"
int main() {
return fun(0);
}
的CMakeLists.txt
add_executable(main main.c)
target_link_libraries(lib)
終於在他們共同的父目錄:
的CMakeLists.txt
include_directories(lib)
add_subdirectory(lib)
add_subdirectory(src)
當我嘗試建立我的項目,
cmake
make
我得到下面的連接錯誤:
CMakeFiles/main.dir/main.o: In function `main':
main.c:(.text+0xa): undefined reference to `fun'
我在做什麼錯在這裏?