由于更改cpp目录导致的链接问题

Linking problem due to changing the cpp directory

本文关键字:链接 问题 于更改 cpp      更新时间:2023-10-16

我是一个java程序员;所以当涉及到c++时,我面临着很多问题,因为链接之类的东西。问题基本上是我想将单个文件(transform .cpp)重构为(transformationbackend .cpp)、(transformationfrontend .cpp)和一个头文件。正如您所看到的,我需要在所有文件中声明一个全局结构体,我使用头文件中的"extern"这样做了,它工作得很好。但是,当我尝试将前端cpp文件移动到另一个目录时,出现无法解决的外部错误。

顺便说一下,我使用BOOST

头文件中的extern声明只告诉编译器该变量将在编译单元中定义。它实际上并不为变量创建/分配存储空间。

如果你的.h中有:

extern int globalvar;

你只需要一个.cpp文件:

int globalvar;

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

"…"当我试图将前端cpp文件移动到另一个目录时,出现错误。"

OK,如果你查看编译器/IDE设置,会有一个目录(ies)的设置,它将搜索找到。cpp文件;你需要在这里添加新目录吗?