由于更改cpp目录而链接问题

时间:2011-07-22 10:07:07

标签: c++ boost extern

我是一名java程序员;因此,由于链接等原因,我在c ++方面面临很多问题。问题基本上是我想将单个文件(Transformation.cpp)重新分解为(TrasnformationBackend.cpp),(TrasnformationFrontend.cpp)和头文件。正如您所看到的,我需要通过所有文件声明一个全局结构,并且我使用头文件中的“extern”来完成它并且它工作正常。但是,当我尝试将前端cpp文件移动到另一个目录时,会出现未解决的外部错误。

顺便说一下,我正在使用BOOST。

2 个答案:

答案 0 :(得分:1)

标头中的extern声明仅告知编译器该变量将在编译单元中定义。它实际上并没有为它创建变量/分配存储。

如果您有.h

extern int globalvar;

您需要一个且只有一个.cpp个文件:

int globalvar;

否则编译将正常,但链接将失败,因为无法解析外部。

答案 1 :(得分:0)

“...当我尝试将前端cpp文件移动到另一个目录时出现错误。”

好的,如果你查看你的编译器/ IDE设置,那么它将搜索哪个目录来查找.cpp文件;你需要在这里添加新目录吗?