gpt4 book ai didi

g++ - UnitTest++ 和 g++ - 库的相对路径

转载 作者:行者123 更新时间:2023-12-04 05:11:46 26 4
gpt4 key购买 nike

我试图让 UnitTest++ 在这个目录树之后的项目中工作:

Project/
|-- src/
|-- test/
| |-- test.cpp
|-- unittest-cpp/
| |-- UnitTest++/
| |-- libUnitTest++.a
| |-- src/
| |-- UnitTest++.h
|-- Makefile

我试图在项目目录中使用 g++ 进行编译。我的 test.cpp 文件包含 UnitTest++ 入门代码。

我尝试了以下方法:
g++ -Lunittest-cpp/UnitTest++/ -lUnitTest++ -Iunittest-cpp/UnitTest++/src/ \
test/test.cpp -o Test

如果我理解得好, -L 就是给出静态库的路径。 -l(小 L)用于库名称,-I(大写 i)用于包含路径。

我得到两个不同的结果。它要么告诉我它在/usr/bin/中找不到 lib ???或者它告诉我有对 unittest::* 的 undefined reference 。

是不是因为我给出了它无法编译的库的相对路径?我是通过多个目录使用 g++ 的新手,我试图在让它在我的 Makefile 中工作之前了解它是如何工作的。

[编辑]:在链接库和头文件之前必须给出 test/test.cpp 参数。所以,这有效:
g++ test/test.cpp -Lunittest-cpp/UnitTest++ -lUnitTest++ -Iunittest-cpp/UnitTest++/src -o Test

最佳答案

要编译的文件(在此上下文中为 test.cpp)必须在编译时在其依赖项之前给出。这有效:

g++ test/test.cpp -Lunittest-cpp/UnitTest++ -lUnitTest++ -Iunittest-cpp/UnitTest++/src -o Test

关于g++ - UnitTest++ 和 g++ - 库的相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14835609/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com