标签: build-system

如何强制使用静态库而不是共享?

在我的SConscript中,我有以下几行:

Program("xtest", Split("main.cpp"), LIBS="mylib fltk Xft Xinerama Xext X11 m")
Run Code Online (Sandbox Code Playgroud)

我如何让scons使用mylib.a而不是mylib.so,同时动态链接其他库?

编辑:希望尽可能少使用平台特定的黑客.

static portability build-system scons static-linking

13
推荐指数
2
解决办法
8743
查看次数

标题的宏定义,放置它们的位置?

当定义一个头靠宏,如_FILE_OFFSET_BITS,FUSE_USE_VERSION,_GNU_SOURCE等等,这里是把他们最好的地方?

我考虑过的一些可能性包括

  1. 位于依赖于该文件中包含的标头所公开的定义的任何源文件的顶部
  2. 紧接着包含相关标题之前
  3. CPPFLAGS通过编译器在级别定义?(例如-D_FILE_OFFSET_BITS=64)用于:
    1. 整个源代码回收
    2. 整个项目
    3. 只是需要它的来源
  4. 在项目标题中,还应包括宏应用的那些相关标题
  5. 其他一些我没有想过的地方,但是无限优越

注意:适用于制作,自动工具和其他构建系统的合理性是我决定的一个因素.

c macros header autotools build-system

13
推荐指数
1
解决办法
2133
查看次数

如何调整Emacs的compile-goto-error从编译缓冲区获取的路径?

我使用Emacs 23并遇到以下问题:

我在Emacs中运行我们项目的构建系统,如Mx compile - > cd/foo/bar && ./build

构建系统现在做了一些魔术,"cd"进入构建过程的某个子目录,然后gcc抛出一个错误:

../src/somesource.cc:50错误:blablabla

现在的问题是Emacs不会找到该路径,因为它假定编译过程在/ foo/bar中开始,而不是在/ foo/bar/builddir中.所以领先的"../"对Emacs不起作用,例如在运行compile-goto-error时.有没有办法告诉Emacs尝试跳过领先的"../"?

emacs compilation build-system

13
推荐指数
1
解决办法
2107
查看次数

如何使用Qt创建器设置介子

我通常使用Qt creator和cmake来编写C++项目.最近我读了很多关于介子和它的简单性,我喜欢测试它.这个例子解释了如何设置介子.

当使用meson时,我仍然喜欢使用Qt创建者快捷方式来构建(ctrl + B)或运行(ctrl + R).当我使用" 通用项目 " 时,如何配置Qt创建者来构建介子项目?

build-system qt-creator meson-build

13
推荐指数
2
解决办法
2406
查看次数

什么构建系统与Go一起使用?

我知道Go源代码附带了一个Makefile(它已经存在$GOROOT/doc),我现在正在使用它,但是还有其他流行的构建系统增加了对Go的支持吗?有没有人为scons,waf等编写构建脚本......

你用什么来构建你的Go程序?

build-system go

12
推荐指数
2
解决办法
7204
查看次数

npm git存储库没有更新版本

我有一个git repo,我试图将它设置为我项目中的依赖项.使用NPM,我package.json看起来像这样:

"devDependencies": {
  "grunt": "~0.4.0",
  "grunt-contrib-connect": "~0.2.0",
  "grunt-contrib-watch": "~0.3.1",
  "custom":     "git://github.com/myGitHubRepo/repo.js.git#b7d53a0cfbe496ad89bde6f22324219d098dedb3",
  "grunt-contrib-copy": "~0.4.0"
}
Run Code Online (Sandbox Code Playgroud)

在第一个

npm install
Run Code Online (Sandbox Code Playgroud)

它安装所有内容并毫无问题地获取存储库.但是,如果我改变这个提交哈希让我们说

"custom":     "git://github.com/myGitHubRepo/repo.js.git#d6da3a0...", // a different one
Run Code Online (Sandbox Code Playgroud)

它没有更新!任何人都可以指出我怎么能得到这种行为?

我只想分享这段代码,并能够在某些时候更改此版本,并npm会自动更新此代码.

javascript configuration build-system node.js npm

12
推荐指数
2
解决办法
8605
查看次数

为什么Gradle在编译/运行时类路径中不包含传递依赖?

我正在学习Gradle如何工作,我无法理解它如何解决项目传递依赖.

目前,我有两个项目:

  • projectA:它对外部库有一些依赖性
  • projectB:对projectA只有一个依赖项

无论我如何尝试,当我构建projectB时,gradle不包含projectB的编译或运行时类路径中的任何projectA依赖项(X和Y).我只是通过在projectB的构建脚本中包含projectA的依赖项来设法使它工作,在我看来这没有任何意义.这些依赖项应自动附加到projectB.我很确定我错过了什么,但我无法弄清楚是什么.

我已经读过"lib dependencies",但它似乎只适用于此处描述的本地项目,而不适用于外部依赖项.

这是我在根项目中使用的build.gradle(包含projectA和projectB的那个):

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.3'
    }
}

subprojects {
    apply plugin: 'java'
    apply plugin: 'idea'

    group = 'com.company'

    repositories {
        mavenCentral()
        add(new org.apache.ivy.plugins.resolver.SshResolver()) {
            name = 'customRepo'
            addIvyPattern "ssh://.../repository/[organization]/[module]/[revision]/[module].xml"
            addArtifactPattern "ssh://.../[organization]/[module]/[revision]/[module](-[classifier]).[ext]"
        }
    }

    sourceSets {
        main {
            java {
                srcDir 'src/'
            }
        }
    }

    idea.module { downloadSources = true }

    // task that create sources jar
    task sourceJar(type: Jar) {
        from sourceSets.main.java
        classifier 'sources'
    } …
Run Code Online (Sandbox Code Playgroud)

build build-system dependency-management

12
推荐指数
2
解决办法
8606
查看次数

Sublime SFTP - 保存sass文件时上传已编译的css

我在Sublime中开发html/css.我正在用sass编写我的css 并使用Sublime的构建系统来生成文件保存的css文件.它还配置为使用SFTP插件在保存时上传.

我的问题是生成的css文件没有上传,因为那不是我直接保存的文件.我试图看看SFTP插件是否有办法上传本地修改过的所有文件,但似乎并不支持.

有什么我可以做到的吗?

css sftp sass build-system sublimetext

12
推荐指数
1
解决办法
8714
查看次数

在Android的ant中启用`--multi-dex`选项

为gradle构建系统启用multi-dex选项很容易,但是我没有找到如何为ant构建启用此选项的示例.怎么归档这个?

ant android build-system android-multidex

12
推荐指数
1
解决办法
9833
查看次数

你能用介子来获取源代码吗?

是否可以在介子构建中使用 glob 源代码文件?

build build-system meson-build

12
推荐指数
3
解决办法
6491
查看次数