像往常一样,在发布之前我尝试阅读很多论坛,谷歌的答案仍然无法找到问题。我得到了一段正在运行的代码。它编译在任何linux dist中,它之前编译在山狮中,并且它从终端编译,当我尝试通过netbeans 7.4编译它时,我得到以下错误 这是编译命令:
g++ -c -g -I../../Downloads/boost_1_50_0 -I. -I../../Downloads/RInside/inst/include -I/Library/Developer/CommandLineTools/usr/bin/../lib/clang/5.0/include -I/ -I/Library/Developer/CommandLineTools/usr/include -I/usr/include -I/usr/include/c++/4.2.1 -MMD -MP -MF "build/Debug/GNU-MacOSX/main.o.d" -o build/Debug/GNU-MacOSX/main.o main.cpp
这是错误
In file included from main.cpp:7:
In file included from /usr/include/c++/4.2.1/cstdlib:71:
In file included from /usr/include/stdlib.h:65:
In file included from /usr/include/sys/wait.h:110:
/usr/include/sys/resource.h:193:2: error: unknown type name 'uint8_t'
uint8_t ri_uuid[16];
^
/usr/include/sys/resource.h:194:2: error: unknown type name 'uint64_t'
uint64_t ri_user_time;
第7行显示:
#include <cstdlib>
我猜它是包含库的一个问题,但它只是一个猜测,我重新安装了netbeans,得到了java 1.7.0_45,安装了命令行工具,删除了cache_dir,还是同样的问题,真的很奇怪的部分是当我从终端编译它时
g++ main.cpp -o main -I./
那是有效的......当我有了山狮之前它就起作用了......任何帮助都会深深体会到。 最好, 乔治
答案 0 :(得分:0)
好的,所以朋友建议在命令运行之前开始删除库(因为在命令终端中运行一个简单的sintax),这正是我所做的,这就是导致问题的库:
-I/Library/Developer/CommandLineTools/usr/bin/../lib/clang/5.0/include
似乎当小牛队更新时它会切换到铿锵声,所以不知怎的,这一行导致了正确编译代码的问题,我希望我对正在发生的事情有一个正确的答案,但至少这会解决问题,任何正确的答案将不胜感激:)
答案 1 :(得分:0)
类似的问题也发生在我身上(但叮当声)。
布鲁尔帮助我解决了这个问题。 brew doctor
列出了很多头文件(全部在/usr/include/
中,但有些警告我现在不记得了。
只需移动这些头文件就可以为我工作。