【发布时间】:2011-06-20 06:42:22
【问题描述】:
所以这更像是一个设计问题,尽管有关 g++ 链接器的任何信息都会很棒。
我在以下结构中嵌入了 .cpp 文件:
Main
Main/Utilities
Main/Utilities/Data
当我在 Main 中编译主入口点 .cpp 时,我必须指定任何链接的 .cpp 曾经使用过的所有 .cpp 文件 - 这对于我只有 5 个链接文件的测试项目来说很好,但是这个项目会增长很快,这显然是不可行的。有没有办法解决这个问题?这是什么原因造成的?
我尝试使用“g++ *.cpp”,但它仍然希望我链接其他人。我必须做一些类似“g++ main.cpp Utilities/other.cpp Utilities/Data/data.cpp”的事情。 other.cpp 使用 data.cpp,main.cpp 使用 other.cpp。在编译 other.cpp 时,我必须像以前一样指定 data.cpp。
非常感谢您的任何想法或帮助!
【问题讨论】:
-
我认为您对一些术语感到困惑。
g++是 C++ 编译器,而不是链接器。但是,为了您的利益,它将使用正确的参数在后台为您调用链接器(在大多数 UNIX 系统上为ld)。