【发布时间】:2011-02-05 16:04:51
【问题描述】:
我正在使用 g++ 和 automake 在 Ubuntu 10.10 下开发 C++ 应用程序。对于这个程序,我有两个 cpp 文件(main.cpp 和 forward.cpp,后者是一个测试类)和 forward.h;我也有以下makefile:
main: \
forward.o
g++ -fPIC -g -Wall -D_REENTRANT -fno-exceptions -I/usr/local/Aria/include/ -L/usr/local/Aria/lib -lAria -lpthread -ldl -lrt \
-o simple_controller \
main.cpp \
forward.o
%.o : %.cpp
g++ -c -g -Wall -D_REENTRANT -fno-exceptions -I/usr/local/Aria/include/ $< -o $@
clean:
rm -fv *.o
rm -fv */*.o
当我将所有这四个文件复制到同一目录并从命令行 (bash) 调用“make”时,将调用 g++,我的程序将被正确编译。
好的,现在我想在 Eclipse 下实现同样的效果。所以我在Eclipse下新建了一个非托管C++项目,这样我就可以提供自己的makefile了(和上面列出的一样)。不幸的是,当我现在在 Eclipse 下使用“全部构建”选项时,我可以看到以下控制台输出:
make
make: *** No rule to make target `forward.o', needed by `main'. Stop.
由于我是 Linux 下 C++ 开发的新手,使用 g++ 和 makefile,我不太了解这个问题。我认为正确编译我的应用程序所需的一切都写在 makefile 中,因为它可以在命令行中完美运行。但似乎我无法将相同的 makefile 1:1 复制到我的 Eclipse 项目中。
有什么我在这里缺少的想法吗?
提前感谢您的帮助!
【问题讨论】:
标签: c++ eclipse makefile eclipse-cdt