【问题标题】:How do I use g++ to create object file with a specific name如何使用 g++ 创建具有特定名称的目标文件
【发布时间】:2012-10-31 12:45:40
【问题描述】:

我正在制作一个 makefile,其中一个目标是 exptrtest.o 我如何使用 g++ 创建一个具有该名称的对象文件,我的 cpp 文件的名称是 exprtest.cpp 而不是 exptrtest.cpp?

exptrtest.o: exprtest.cpp
    g++ -Wall -g -c exprtest.cpp

为了更清楚,这是我的makefile:

all: exprtest
exprtest: exptrtest.o driver.o parser.tab.o scanner.o
    g++ -Wall -g -o exprtest exptrtest.o driver.o parser.tab.o scanner.o
exptrtest.o: exprtest.cpp
    g++ -Wall -g -c exptrtest.o exprtest.cpp
driver.o: driver.cpp scanner.hpp driver.hpp
    g++ -Wall -g -c driver.cpp
parser.tab.o: parser.tab.hpp parser.tab.cpp
    bison parser.ypp
    g++ -Wall -g -c parser.tab.cpp
scanner.o: scanner.cpp scanner.hpp
    flex -t scanner.ll > scanner.cpp
    g++ -Wall -g -c scanner.cpp
clean:
    rm parser.tab.hpp parser.tab.cpp scanner.cpp

我收到错误: “g++:错误:exptrtest.o:没有这样的文件或目录 make: * [exprtest] 错误 1"

【问题讨论】:

  • "g++ -c name.cpp" 将创建 name.o。使用 -o 标志创建不同的输出名称。

标签: c++ unix ubuntu makefile


【解决方案1】:

-o 选项与-c 结合使用。

exptrtest.o: exprtest.cpp
    g++ -Wall -g -c exprtest.cpp -o exptrtest.o

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-06
    • 1970-01-01
    • 2021-11-30
    • 2016-03-31
    • 2021-12-01
    相关资源
    最近更新 更多