Tag: build

Ubuntu rusage错误

我正在将一些非常古老(和庞大的代码)代码从CentOS 6移植到Ubuntu 14.04。 注意,我已经安装了预期的旧版gcc,固定链接器引用等。 我的构建尝试正在进行中,但我坚持一件事。 有一个C文件试图创建一个rusage类型的结构,但Ubuntu环境给我以下错误: error: storage size of ‘rusage’ isn’t known 据我所知,我的所有路径看起来都是正确的。 我甚至查看了每个系统上的time.h和resource.h系统文件(CentOS在哪里工作,Ubuntu在哪里不起作用)。 似乎有一个wait.h文件的引用,其中rusage实际定义,只是相同。 在我的Ubuntu环境中还有什么可能遗漏的? 编辑:添加更多MCVE-ish详细信息…… 我的构建停止,出现以下错误: vmodem.c:6747: error: storage size of ‘rusage’ isn’t known 文件中的那一行很简单: struct rusage rusage 所需的包含也在该文件中( , 等) 不知道在这种情况下我还能提供什么……

VS2010中“无法打开包含文件”错误

我正在尝试编译开源工具“abc”。 当我尝试构建解决方案文件时,我收到了很多错误消息。 c源代码有include指令,而VS2010找不到头文件。 文件结构如下。 #include “src/misc/util/abc_global.h” #include “pr.h” 在项目属性中,我尝试添加$(SolutionDir)和$(ProjectDir),但它不起作用。 可能有什么问题?

CMake的默认构建目标的名称是什么?

我有一个自定义目标,我希望它依赖于默认目标(使用make构建的目标)。 add_custom_target(foo ….) add_dependency(foo default_target_name_goes_here) 默认目标的名称是什么? 我试过ALL , ALL_BUILD , MyProjectsName , DEFAULT ,…… 在CMake文档中查找任何内容总是不成功的冒险…… 更新:似乎CMake的设计方式非常难以修复/实现: 自2009年以来bugreport获得+ 1 。 谁的确想拥有一个依赖于all目标的自定义目标? 或换句话说:谁曾写过make && make test ?…

如何在Opensuse 12.2上构建Gotoblas2

使用默认的make文件在我的x86_64上构建GotoBlas2时,遇到以下构建错误: gcc -O2 -DEXPRECISION -m128bit-long-double -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DMAX_CPU_NUMBER = 8 -DASMNAME = -DASMFNAME = _ -DNAME = _ -DCNAME = -DCHAR_NAME = \“_ \” – DCHAR_CNAME = \“\”-I .. -w -o linktest linktest.c ../libgoto2_nehalemp-r1.13.so -L / usr / lib64 / gcc / x86_64-suse-linux / 4.7 -L / usr / lib64 / gcc […]

g ++ – 4.6.real:错误:无法识别的选项’-R’

我正在尝试使用此configure命令从源代码编译phpcompiler 。 ./configure –prefix=/opt/phc-0.3.0.1/ –with-php=/opt/php-5.3.17/ 配置错误是, checking for exit in -lboost_regex-mt… no checking for exit in -lboost_regex-mt… (cached) no checking for exit in -lboost_regex… no checking for exit in -lboost_regex… (cached) no checking for exit in -lboost_regex… (cached) no configure: error: Could not link against boost_regex 这完全错了,因为我安装了boost和boost_regex软件包。 libs和头文件。 然后我在config.log文件中挖了这个 configure:17053: g++ -o conftest -g -O2 […]

如何使用断言打开和关闭的库构建?

我编写了一个库,并在程序中使用该库。 我经常在程序代码中进行更改,在打开断言的情况下运行测试,然后如果测试通过,则运行基准测试,关闭断言以测量我刚刚做出的更改对性能的影响。 我还希望在我的库中打开断言以进行测试,并在库中将它们关闭以进行基准测试。 所以我经常需要在程序和库中同时切换断言设置。 匹配库的断言设置(NDEBUG)和程序(使用库)必须不是手动的,因为错误意味着未定义的行为,因为标题中存在断言(冲突的定义导致未定义的行为)并且实际上我遇到了崩溃当我使用断言库构建断言程序时,使用GCC编程。 我无法找出标准的方法是什么。 我正在考虑让我的库构建系统安装两个二进制文件(以及可能包含错误的断言设置(NDEBUG)的头文件),名为libfoo-1.0和libfoo-assert-1.0或类似的东西。 什么是匹配库和程序之间的断言设置的最佳方法,以便同时切换断言设置既简单又快速且不容易出错?

从Eclipse Indexing中排除构建中包含的文件

此问题为从索引中排除文件的问题提供了很好的答案,这些文件也从构建中排除。 一个悬而未决的问题仍然存在:如何防止构建一部分的文件填充代码完成或代码洞察function? 我的用例是TrueSTUDIO(是System Workbench,是裸Eclipse)项目,其中包含来自另一个项目的一些模块。 它们包含在安全使用的存根和包装器中,永远不应该直接调用。 外部模块无法编辑,因为它们必须与其他项目保持同步,因此它们的文件名和其他符号会与当前项目混淆。 使用代码完成包含标题或完成函数名称时,不直接使用的模块的文件名和函数名称将出现在完成列表中。 我希望继续在我的构建中包含这些模块,但是它们的任何内容都不会出现在代码完成/洞察function中。 我在Project Properties – > C / C ++ General – > Indexer中看到,有一些选项可以配置索引器以使用不同的构建配置。 这很有希望,但可能会很快导致索引器与主构建配置非常不同步。 有关实用方法的建议吗?

SCons库和子库

我有一个基于SCons的分层构建系统。 我有一个根SConstruct调用SConscript构建一个共享库,然后调用另一个SConscript构建一个依赖于共享库的可执行文件。 所以这是我的问题:我对linux上的共享库的理解是,当你想为将要使用共享库的可执行文件做最后的ld链接时,共享库必须作为源包含在可执行文件的ld命令行中引用它(除非它在标准位置,在这种情况下-l选项有效)。 所以这就像我的SCons文件一样: === rootdir / SConstruct env=DefaultEnvironment() shared_lib = SConscript(‘foolib/SConscript’) env.Append( LIBS=[shared_lib] ) executable = SConscript(‘barexec/SConscript’) === rootdir / foolib / SConscript env=DefaultEnvironment() env.Append(CPPPATH=Glob(‘inc’)) penv = env.Clone() penv.Append(CPPPATH=Glob(‘internal/inc’)) lib = penv.SharedLibrary( ‘foo’, source=[‘foo.c’, ‘morefoo.c’] Return(“lib”) === rootdir / barexec / SConscript env=DefaultEnvironment() exe = env.Program( ‘bar’, source=[‘main.c’, ‘bar.c’, ‘rod.c’] ) Return(“exe”) 所以这里的问题是这一行: env.Append( […]

尝试构建基本的python扩展示例失败(windows)

我在Win7 x64机器上运行Python 2.6和Visual Studio 2008。 当我尝试在python 2.6源代码分发中找到的c“example_nt”中构建基本的python扩展示例时,它会失败: python setup.py build 这导致: running build running build_ext building ‘aspell’ extension Traceback (most recent call last): File “setup.py”, line 7, in ext_modules = [module1]) File “C:\Python26\lib\distutils\core.py”, line 152, in setup dist.run_commands() File “C:\Python26\lib\distutils\dist.py”, line 975, in run_commands self.run_command(cmd) File “C:\Python26\lib\distutils\dist.py”, line 995, in run_command cmd_obj.run() File “C:\Python26\lib\distutils\command\build.py”, line […]

嵌入段错误的Python解释器的最小示例

我从这里复制的例子: https : //docs.python.org/3.5/extending/embedding.html #include int main(int argc, char *argv[]) { wchar_t *program = Py_DecodeLocale(argv[0], NULL); if (program == NULL) { fprintf(stderr, “Fatal error: cannot decode argv[0]\n”); exit(1); } Py_SetProgramName(program); /* optional but recommended */ Py_Initialize(); PyRun_SimpleString(“from time import time,ctime\n” “print(‘Today is’, ctime(time()))\n”); Py_Finalize(); PyMem_RawFree(program); return 0; } 如果编译和链接像这样: gcc -fno-diagnostics-color -Wall -Wno-unused-function -fPIC -ggdb […]