c++ - Eclipse c++ makefile 项目输出

标签 c++ eclipse makefile

我有一个用于 Eclipse 的 C++ Makefile 项目,如果我构建它,二进制文件位于项目根目录中。如何将构建目录更改为 {ROOT}/bin?

我尝试了项目属性 -> c/c++ Build -> Build location (Build directory: MY PATH) 但它根本无法编译。

最佳答案

您使用 Makefile 项目。必须完成的所有事情,包括将可执行文件放在哪里,都必须由您编码到 Makefile 中! Eclipse 只是通过调用 make 来启动构建。

一个简单的例子:

CXXFLAGS= -g -O0
CXX=g++


all: bin bin/test

bin/test: bin/test.o
    $(CXX) -o bin/test bin/test.o

bin/test.o: test.cpp
    $(CXX) $(CXXFLAGS) -o bin/test.o -c test.cpp

bin:
    mkdir bin

clean:
    rm bin/test.o
    rm bin/test

这是我学习如何编写 Makefile 的来源:http://www.eng.hawaii.edu/Tutor/Make

Plain Makefiles 对于包含少量文件的项目来说很方便。一旦你因为缺少重新编译而出现段错误(忘记在 .o: 依赖项中列出头文件),你应该转向一个完整的构建系统,比如 cmake。 cmake 为您生成 Makefile,但了解 Makfile 的基本原理以解释错误消息很重要。

关于c++ - Eclipse c++ makefile 项目输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1070666/

相关文章:

javascript - 如何在 QWebView 中启用 localStorage?

c++ - boost 信号自动断开 lambda 插槽

c++ - 使用 std::shared_ptr 和 std::thread 的编译器错误

java - 构建我的 Selenium 测试

windows - Cygwin-x64 上的 "CPU you selected does not support x86-64 instruction set"错误

c++ - 错误 LNK2001 : unresolved external symbol ___iob_func in VS2017

java - 支持 Netbeans 和 Eclipse 用户的 Git 存储库的最佳实践

eclipse - 使用 Eclipse 身份验证的 Team Explorer Everywhere

C - Valgrind 不显示 Makefile 编译的代码的行号

c++ - 使用 makefile 构建时 GCC 不使用的预编译 header