【问题标题】:C++ compilation error (eclipse)C++ 编译错误(日食)
【发布时间】:2015-12-07 22:08:28
【问题描述】:

我正在使用 Opencl 开发简单的灰度程序。当我编译时,它给了我以下错误。

make all 
Building file: ../Test1.cpp
Invoking: GCC C++ Compiler 4.9.3 [armeb-linux-gnueabihf]
armeb-linux-gnueabihf-g++ -I/opt/AMDAPPSDK-3.0-0-Beta/include/ -I/opt/AMDAPPSDK-3.0-0-Beta/include/CL -I/opt/AMDAPPSDK-3.0-0-Beta/include/GL -I/opt/AMDAPPSDK-3.0-0-Beta/include/SDKUtil -I/usr/local/include -O0 -g3 -Wall -c -fmessage-length=0 -o -MM -MMD -MP -MF"Test1.d" -MT"Test1.d" -o "Test1.o" "../Test1.cpp"
cc1plus: fatal error: Test1.d: No such file or directory
compilation terminated.
make: *** [Test1.o] Error 1

带有选项的编译器命令:-

armeb-linux-gnueabihf-g++ -I/opt/AMDAPPSDK-3.0-0-Beta/include/ -I/opt/AMDAPPSDK-3.0-0-Beta/include/CL -I/opt/AMDAPPSDK-3.0-0-Beta/include/GL -I/opt/AMDAPPSDK-3.0-0-Beta/include/SDKUtil -I/usr/local/include -O0 -g3 -Wall -c -fmessage-length=0 -o -MM

【问题讨论】:

    标签: c++ eclipse gcc makefile


    【解决方案1】:

    实际执行的命令似乎有两次输出选项-o。这个选项是supposed,后面跟一个文件名。

    请从您的命令中删除输出选项-o,因为 eclipse 似乎会自动添加它。

    【讨论】:

    • 调用:GCC C++ Linker 4 [arm-linux-gnueabihf] arm-linux-gnueabihf-g++ -L/usr/lib/x86_64-linux-gnu -L/usr/local/lib -o “灰度” ./Test1.o /usr/lib/x86_64-linux-gnu/libm.so:文件无法识别:文件格式无法识别 collect2:错误:ld 返回 1 退出状态 make:*** [灰度] 错误 1它仍然给出这个错误....
    • 这实际上是一个非常不同的错误。我认为前面的命令可能创建了一个Test1.o,格式为Test1.d。建议在尝试再次编译之前进行全面清理。
    • 我已经在eclipse中删除了该库的路径并添加了特定的opencv库。现在它的显示: - armeb-linux-gnueabihf-g++ -L/usr/local/lib -L/opt/AMDAPPSDK-3.0-0-Beta/lib/x86_64 -o "Grayscale" ./Test1.o -lopencv_core /usr /local/lib/libopencv_core.so:文件无法识别:文件格式无法识别 collect2:错误:ld 返回 1 退出状态 make:*** [灰度] 错误 1
    • 最后一部分:/usr/local/lib/libopencv_core.so 告诉 g++ 尝试链接到那个确切的文件。但是,您还告诉 g++ 使用命令 -lopencv_code 查找 libopencv_code.so(应该找到,因为您还指定了使用 -L/usr/local/lib 查找的路径)。最后一个问题:您目前是否在ARM 机器上构建/编译它?如果你不是,我非常怀疑/usr/local/lib 中的.so 文件是为ARM 机器设计的。
    • 如果我没有提供专门指向 -lopencv_core.so 的链接,那么代码中使用的 opencv 库,即 cvloadimage 等将无法解析。不,现在我没有在 ARM 上编译,但是是的,我必须在 arm 机器上进行交叉编译。有什么建议吗?
    猜你喜欢
    • 1970-01-01
    • 2021-07-22
    • 2010-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    相关资源
    最近更新 更多