我正在尝试使用 Boost::Test 为该库创建一个 C 库和一个 C++ 测试程序。我在这个问题中发布的代码是我的代码的简化,它显示了完全相同的问题。请帮忙!
这是目录结构。 childlib是我正在尝试创建的库,并且test是测试程序。
> tree
.
`-- src
|-- main
| |-- c
| | `-- childlib.c
| |-- childlib.h
| `-- makefile
`-- test
|-- cpp
| `-- test.cpp
`-- makefile
5 directories, 5 files
Run Code Online (Sandbox Code Playgroud)
我可以childlib成功地制作成一个静态库:
> cd src/main
> make
gcc -c -fPIC -o c/childlib.o c/childlib.c
ar rcs libchildlib.a c/childlib.o
ranlib libchildlib.a
Run Code Online (Sandbox Code Playgroud)
但是我无法通过链接来制作我的测试程序:
> cd ../test/
> make
g++ -I. -I../main -Imy_boost_install_dir/include -c -std=c++11 -o cpp/test.o cpp/test.cpp …Run Code Online (Sandbox Code Playgroud)