gpt4 book ai didi

c++ - 如何在另一个目录中使用 G++ 编译具有依赖项的 .cpp 文件

转载 作者:行者123 更新时间:2023-12-04 15:43:05 24 4
gpt4 key购买 nike

我的项目按以下方式组织:

mainfolder
|
|_main.cpp
|
|_subfolder
|
|_foo.hpp
|_foo.cpp
|_bar.hpp
|_bar.cpp


main.cpp 使用了 foo.hpp 和 bar.hpp 中的函数和变量,它们的函数实现分别在 foo.cpp 和 bar.cpp 中

我想知道如何使用 g++ 来编译 main.cpp

谢谢 :)

最佳答案

您可以像这样自己编译 main:
g++ -c main.cpp -Isubfolder -o main.o
这一行将 main.cpp 编译成一个目标文件(不是应用程序),但它为它提供了路径( -I<paht> ),它可以在其中细化包含文件

您可能还想将其他两个文件编译为对象:
g++ -c subfolder/foo.cpp -Isubfolder -o foo.og++ -c subfolder/bar.cpp -Isubfolder -o bar.o
-c标志表示仅编译(而不是链接)。那么你可能想将你的对象链接在一起:
g++ main.o foo.o bar.o -o myapp
或者在一行中:
g++ main.cpp subfolder/foo.cpp subfolder/bar.cpp -Isubfolder -o myapp
当您想要创建模式规则来编译文件(使用 gnu make)时,第一种方法(分两步完成)通常更容易,第二种方法(在一行中)更容易手动完成

关于c++ - 如何在另一个目录中使用 G++ 编译具有依赖项的 .cpp 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57031487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com