Eclipse CDT Post-Build命令错误

时间:2015-04-25 19:02:34

标签: c++ eclipse eclipse-cdt

我有一个C ++项目,我使用Eclipse CDT 3.8.1作为IDE工具,工作区有5个不同的项目......

我的一个项目是共享库,在编译结束时我想将其代码复制到test / bin目录进行测试。

我去了Project Properties - > C / C ++ Build - >设置 - >构建步骤和“后构建步骤”,“命令”,我已添加:

cp *.so ../../../bin

(OBS:.. / .. / .. / bin是Debug文件夹中的正确路径 - 我已经检查过了。)

在发布后,我收到以下错误:

cp *.so ../../../bin 
cp: cannot stat ‘*.so’: No such file or directory

我说:好吧,这可能是一个权限问题,所以我将post命令更改为:

whoami;ls -al; ls *.so;

我上了Eclipse控制台:

    whoami 
    aeidev
    ls -al 
    total 264
    drwxrwxr-x 3 aeidev aeidev   4096 Apr 25 15:55 .
    drwxrwxr-x 5 aeidev aeidev   4096 Apr 22 16:27 ..
    -rwxrwxr-x 1 aeidev aeidev 242556 Apr 25 15:55 libaeirtuaccess.so
    -rw-rw-r-- 1 aeidev aeidev   1763 Apr 23 20:47 makefile
    -rw-rw-r-- 1 aeidev aeidev    245 Apr 23 20:46 objects.mk
    -rw-rw-r-- 1 aeidev aeidev    526 Apr 23 20:47 sources.mk
    drwxrwxr-x 2 aeidev aeidev   4096 Apr 25 15:41 src
     ls *.so 

15:55:11 Build Finished (took 1s.80ms)

他们又改为ls *.so而我得到了:

ls -al *.so 
ls: cannot access *.so: No such file or directory

15:57:50 Build Finished (took 715ms)

这是一种非常奇怪的行为。在同一工作区中,我有一个不同的共享库,原始cp *.so工作正常...

有什么想法在这里发生? 它是一个已知的Eclipse bug吗?

感谢您的帮助...

1 个答案:

答案 0 :(得分:1)

我认为默认情况下命令不会在shell中执行,因此不会评估通配符。尝试执行/bin/sh -c 'cp *.so ../../../bin/'。此外,您应该使用Eclipse的内置variables来复制到所需的路径。