我有很多C++程序彼此不相关,每个程序只有一个文件。目录结构是这样的:如何使用find编译所有子目录中的所有文件?
dir1
program1.cpp
program1.h
program2.cpp
program2.h
dir2
program3.cpp
program3.h
program4.cpp
program4.h
dir3
program5.cpp
program5.h
program6.cpp
program6.h
..
我试图想出一个shell脚本来编译所有这些,给可执行文件不同的名称。我一直find
像这样尝试此:
find . -type f -name *.cpp -exec g++ -llibname '{}' \;
这编译所有的文件,但每个文件所以我最终只有一个最终可执行产生a.out
。我如何去除文件扩展名并将其作为可执行文件名? (例如,用于program1.cpp
我需要g++ program1.cpp -o program1
)
的伟大工程,非常感谢.. – none 2013-03-18 10:12:36