Questions tagged «build»

将源代码文件转换为可以在计算机上运行的独立软件工件的过程


3
试图包含一个库,但不断收到“未定义的引用”消息
我正在尝试使用libtommath库。我在Ubuntu linux上的项目中使用的是NetBeans IDE。我已经下载并构建了该库,我已经进行了“ make install”操作,将生成的.a文件放入/ usr / lib /,并将.h文件放入/ usr / include 它似乎正在适当地查找文件(因为我不再遇到那些错误,这是在安装到/ usr目录之前所做的)。 但是,当我创建一个简单的main来调用mp_init(位于库中)时,在尝试创建项目时出现以下错误: mkdir -p build/Debug/GNU-Linux-x86 rm -f build/Debug/GNU-Linux-x86/main.o.d gcc -c -g -MMD -MP -MF build/Debug/GNU-Linux-x86/main.o.d -o build/Debug/GNU-Linux-x86/main.o main.c mkdir -p dist/Debug/GNU-Linux-x86 gcc -o dist/Debug/GNU-Linux-x86/cproj1 build/Debug/GNU-Linux-x86/main.o build/Debug/GNU-Linux-x86/main.o: In function 'main': /home/[[myusername]]/NetBeansProjects/CProj1/main.c:18: undefined reference to `mp_init' collect2: ld returned …



21
Visual Studio生成非常慢
这适用于2008和2010版本(可能也适用于早期版本)。同样适用于C ++和C#项目。 初始构建(重新引导后)以正常速度运行,并具有相当好的CPU使用率。经过“一段时间”(即使用计算机进行“填充”),随后的构建可能会非常非常缓慢地运行,并且CPU使用率非常低。我发现的唯一解决方法似乎是重新启动,然后循环又重新开始。WPF和非WPF项目均会发生这种情况,尽管使用WPF的情况要差10倍。 我在不同的机器上发生了这种事情,甚至在不同的组织中工作,所以我认为这是Visual Studio的事情,而不是环境的事情。我已经尝试了平常的方法(Google,关闭AV,Intellisense,Resharper等,并且目前期待获得订购的SSD)。 我当前的计算机规格是2.7gig四核,4GB RAM,XP(尚未运行Win7),250Gb硬盘等 任何人都知道这可能是什么以及如何解决? 提前致谢!

6
有效地将Visual Studio项目属性用于多个项目和配置
我一直使用GUI支持的内置Visual Studio来配置我的项目,通常使用属性表,以便几个项目将使用一个公共集。 我主要的工作之一是管理多个项目,配置和平台。如果仅使用主GUI进行所有操作(右键单击项目->属性),它很快就会变得一团糟,难以维护并且容易出现错误(例如无法正确定义某些宏或使用错误的运行时库等)。处理不同的人将依赖库放在不同位置的事实(例如,我的所有库都位于“ C:\ Libs \ [C,C ++] \ [lib-name] \”中),然后经常管理这些库的不同版本同样(发布,调试,x86,x64等)也是一个大问题,因为它极大地增加了在新系统上进行设置的时间,然后是版本控制和使每个人的路径分开的问题。 。 属性表使这更好一些,但是我不能让一个表具有针对不同配置和平台的单独设置(下拉框呈灰色),导致我有很多表,如果以正确的顺序继承这些表,可以满足我的要求( “ x86”,“ x64”,“ debug”,“ release”,“ common”,“目录”(通过定义用户宏(如BoostX86LibDir来解决前面提到的依赖性问题)等),以及是否以错误的顺序继承(例如“ x64”和“ debug”之前的“ common”)会导致诸如尝试链接不正确的库版本或错误命名输出等问题。 我想要的是一种处理所有这些分散的依赖性并设置解决方案中所有项目都使用的“规则”的方法,例如将输出库命名为“ mylib- [vc90,vc100]-[x86]”。 ,x64] [-d] .lib”,而不必为每个单独的项目,配置和平台组合执行所有这些操作,然后将它们正确同步。 我知道要转移到完全不同的系统(例如CMake)上来创建所需的文件,但是这会使其他地方的事情变得复杂,因此即使是简单的任务(例如向项目中添加新文件)也需要在其他地方进行其他更改,这不是我要做的除非对VS2010的某些集成可以跟踪这些变化,否则对它们中的任何一个都完全满意。

6
在多个同时的上游作业成功后,如何使Jenkins作业开始?
为了获得最快的反馈,我们有时希望Jenkins作业并行运行。作业完成后,詹金斯(Jenkins)可以启动多个下游作业(或“分叉”管道)。但是,Jenkins似乎没有任何办法仅使该分支的所有分支的开始成功(或将该分支“重新结合”在一起)来完成下游作业。 Jenkins有一个“在构建完其他项目后再构建”按钮,但是我将其解释为“在任何上游作业完成时启动此作业”(不是“在所有上游作业成功后启动此作业”)。 这是我在说什么的可视化。有谁知道插件是否存在以执行我的工作? 编辑: 当我最初在2012年发布此问题时,Jason的答案(Join和Promoted Build插件)是最好的,也是我所选择的解决方案。 但是,dnozay的答案(“构建流”插件)在此问题问世大约一年后变得很流行,这是一个更好的答案。对于什么值,如果今天有人问我这个问题,我现在建议您这样做。

3
在CMake中添加多个可执行文件
我在C ++项目中的代码组织如下 我有几个.cpp和.h文件,其中包含我的班 我有几个.cxx文件必须针对这些.cpp文件和一些外部库进行编译。 现在,每个.cxx文件都有一个main()方法,因此我需要为每个文件添加与文件名称相同的不同可执行文件。 同样,这些.cxx文件可能不会链接到相同的外部库。 我想用CMake编写这个版本,我是一个新手,我该如何处理?
70 c++  build  cmake  executable 

3
除非我手动选择“ Rebuild”,否则Visual Studio 2010不会重建更改的代码
在过去一周左右的时间里,我注意到Visual Studio 2010不会重新编译代码,除非我强制执行。这是带有WPF的C#4.0项目。我打了F5,如果代码已更改,它似乎使用了rebuild,然后启动应用程序。相反,它现在在左下方的状态栏中说“构建成功”并启动该应用程序。但是,它实际上并没有重建应用程序。我可以说是因为: 即使我进行了大量更改,它也会很快“编译”, 如果我尝试设置一个断点,它会警告代码已更改并且没有设置断点。 不管代码中是否有错误,都会发生这种情况,因此,我不相信如果构建失败,它将启动较旧的版本。 如果我改为从菜单中选择以重建项目,则它将起作用。但是,这阻碍了我通常的工作流程。我半经常忘记这样做,然后花10分钟尝试弄清楚我的更改到底出了什么问题。更糟糕的是,有时会出现一些我不会立即注意到的构建错误。 按下F6以“重建”解决方案也不执行任何操作。我可能会修改哪些设置会导致此行为?


14
如何减少Xcode的构建时间/加快编译时间?
通常可以使用什么策略来减少任何Xcode项目的构建时间?我对Xcode特定策略最感兴趣。 我正在使用Xcode进行iPhone开发,我的项目正在逐渐变得越来越大。我发现编译/链接阶段开始花费比我想要的更多的时间。 目前,我是: 使用静态库来做到这一点,这样我每次清理和构建主项目时就不需要编译大多数代码 已经从我的应用程序中删除了大多数资源,并在可能的情况下在iPhone模拟器中使用硬编码的文件系统路径进行了测试,因此在我对其进行更改时,不必经常打包我的资源。 我注意到,“检查依赖项”阶段似乎花费的时间比我想要的要长。任何技巧,以减少这一点,将不胜感激!

5
如何使Maven使用正确的存储库?
我刚刚签出了一些项目并需要构建它们,但是我很早以前就安装了Maven(也许是6个月?),从那以后真的没有使用过-pom.xml我所拥有的项目没有这个“ http: //repo1.maven.org/myurlhere ”中的任何位置-它具有该url项目的Maven仓库的绝对位置,但是Maven仍在尝试从常规Maven仓库下载: Macintosh:trunk$ mvn clean install [INFO] Scanning for projects... Downloading: http://repo1.maven.org/url/project/project/x.x/project-x.x.pom [INFO] Unable to find resource 'url.project:project:pom:x.x' in repository central (http://repo1.maven.org/) [INFO] ------------------------------------------------------------------------ [ERROR] FATAL ERROR [INFO] ------------------------------------------------------------------------ [INFO] Failed to resolve artifact. GroupId: url.project ArtifactId: project Version: x.x Reason: Unable to download the artifact from any …

2
从父CMakeLists.txt覆盖CMake中的默认option(…)值
我试图在我的源代码树中包括几个第三方库,并对其构建系统进行最小的更改,以便于升级。他们和我一样都使用CMake,因此我可以在自己的CMakeLists.txt中使用add_subdirectory(extern/foo)libfoo。 但是foo CMakeLists.txt编译了一个测试工具,建立了文档,一个不需要的共享库,等等。libfoo作者具有预见性,可以通过选项(option(FOO_BUILD_SHARED "Build libfoo shared library" ON)例如)来控制它们,这意味着我可以通过CMake命令行进行设置。但是我想默认关闭它,并且可以通过命令行覆盖。 我以前尝试set(FOO_BUILD_SHARED OFF)过add_subdirectory(extern/foo)。这样的效果是,在第二次及以后的构建尝试中不尝试构建共享库,而在第一次构建时则不尝试,这是我真正需要加快的速度。 这可能吗,或者我需要为这些项目维护分叉的CMakeLists.txt吗?

10
Jenkins如何建立时间表?
如何安排Jenkins构建,使其只能在每天的特定时间构建? 例如从下午4点开始 0 16 1-7 * * 我的理解是:每个月的星期一至星期日下午4点为0分钟,但是每分钟都会生成一次:( 如有任何建议,我将不胜感激。谢谢!

4
如何使用Ant构建Android示例项目?build.xml不存在
我相信我已经按照Android SDK中的说明进行操作,现在我正在尝试构建示例LunarLander(随机选择一个) $ cd samples/android-11/LunarLander $ ant debug Buildfile: build.xml does not exist! Build failed 我相信所有PATH都正确设置。我以前在较旧的Android SDK版本中就已经做到了,而且我知道我没有遇到此错误,所以我对什么地方很困惑。 哦,还有另外一条信息-我只安装了3.0平台软件包,所以我不确定这是否是错误。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.