【问题标题】:How to change *.o file and product directory by using GNU Autotools? [duplicate]如何使用 GNU Autotools 更改 *.o 文件和产品目录? [复制]
【发布时间】:2020-04-22 17:18:13
【问题描述】:

我通过 GNU Autotools 创建了一个非常简单的 hello world C/C++ 项目。 Here is a full tutorial 展示了如何在 GNU Autotools 中构建最简单的项目。我想更改项目以将所有 *.o 存储在 build/ 目录中,并将可执行文件存储在 output/ 中。

是否可以在Autotools中更改C/C++编译器的输出文件夹?

【问题讨论】:

  • 您应该花点时间考虑一个重要的问题:为什么?我可以理解不想或不能在源目录中记录编译结果,但这似乎不是您想要避免的。对于大多数意图和目的,.o 文件的位置无关紧要。实际上,可执行文件的构建位置也不是——它只是编译器删除它们的位置,直到您执行make install

标签: makefile gnu autotools


【解决方案1】:

autotools 不是这样设计的。 autotools 的设计方式是你将源文件留在原处,然后切换到另一个目录并在那里运行你的构建,它会在本地写入目标文件。

所以,不要运行:

cd myproj
./configure
make

并在与源相同的目录中获取目标文件,您可以执行以下操作:

mkdir obj
cd obj
../myproj/configure
make

然后目标文件位于obj 目录中,而不是源目录中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2016-12-01
    • 1970-01-01
    • 2023-03-09
    • 2022-01-09
    相关资源
    最近更新 更多