【问题标题】:Eclipse CDT Post-Build commands errorEclipse CDT 构建后命令错误
【发布时间】:2015-04-25 19:02:34
【问题描述】:

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

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

我已经转到项目属性 -> C/C++ 构建 -> 设置 -> 构建步骤,并在“构建后步骤”、“命令”中添加了:

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

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

发生的情况是我在构建后收到以下错误:

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

我说:ok,这可能是权限问题,所以我把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 错误吗?

感谢您的帮助...

【问题讨论】:

    标签: c++ eclipse eclipse-cdt


    【解决方案1】:

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

    【讨论】:

    • 工作正常。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-20
    • 2011-01-13
    • 1970-01-01
    • 2012-08-20
    • 2013-03-14
    相关资源
    最近更新 更多