c ++在小牛队更新后没有在netbeans中编译

时间:2014-02-24 15:32:17

标签: c++ macos compilation netbeans-7 osx-mavericks

像往常一样,在发布之前我尝试阅读很多论坛,谷歌的答案仍然无法找到问题。我得到了一段正在运行的代码。它编译在任何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./

那是有效的......当我有了山狮之前它就起作用了......任何帮助都会深深体会到。 最好, 乔治

2 个答案:

答案 0 :(得分:0)

好的,所以朋友建议在命令运行之前开始删除库(因为在命令终端中运行一个简单的sintax),这正是我所做的,这就是导致问题的库:

-I/Library/Developer/CommandLineTools/usr/bin/../lib/clang/5.0/include

似乎当小牛队更新时它会切换到铿锵声,所以不知怎的,这一行导致了正确编译代码的问题,我希望我对正在发生的事情有一个正确的答案,但至少这会解决问题,任何正确的答案将不胜感激:)

答案 1 :(得分:0)

类似的问题也发生在我身上(但叮当声)。 布鲁尔帮助我解决了这个问题。 brew doctor列出了很多头文件(全部在/usr/include/中,但有些警告我现在不记得了。

只需移动这些头文件就可以为我工作。