首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UnitTest++和g++ -库的相对路径

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

Stack Overflow用户
提问于 2013-02-12 23:10:54
回答 1查看 689关注 0票数 2

我正在尝试让UnitTest++在遵循以下目录树的项目中工作:

代码语言:javascript
复制
Project/
|-- src/
|-- test/
|   |-- test.cpp
|-- unittest-cpp/
|   |-- UnitTest++/
|       |-- libUnitTest++.a
|       |-- src/
|            |-- UnitTest++.h
|-- Makefile

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

我尝试了以下几种方法:

代码语言:javascript
复制
g++ -Lunittest-cpp/UnitTest++/ -lUnitTest++ -Iunittest-cpp/UnitTest++/src/ \
test/test.cpp -o Test

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

我得到了两个不同的结果。它要么告诉我在/usr/bin/??中找不到库或者它告诉我存在对unittest::*的未定义引用。

是不是因为我给了一个库的相对路径,它不能编译?我刚开始在多个目录中使用g++,我正在尝试了解它是如何工作的,然后再让它在我的Makefile中工作。

编辑:在链接库和头文件之前,必须提供test/test.cpp参数。所以,这是可行的:

代码语言:javascript
复制
g++ test/test.cpp -Lunittest-cpp/UnitTest++ -lUnitTest++ -Iunittest-cpp/UnitTest++/src -o Test
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-02 03:43:55

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

代码语言:javascript
复制
g++ test/test.cpp -Lunittest-cpp/UnitTest++ -lUnitTest++ -Iunittest-cpp/UnitTest++/src -o Test
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14835609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档