在我的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,同时动态链接其他库?
编辑:希望尽可能少使用平台特定的黑客.
当定义一个头靠宏,如_FILE_OFFSET_BITS,FUSE_USE_VERSION,_GNU_SOURCE等等,这里是把他们最好的地方?
我考虑过的一些可能性包括
CPPFLAGS通过编译器在级别定义?(例如-D_FILE_OFFSET_BITS=64)用于:
注意:适用于制作,自动工具和其他构建系统的合理性是我决定的一个因素.
我使用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尝试跳过领先的"../"?
我有一个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会自动更新此代码.
我正在学习Gradle如何工作,我无法理解它如何解决项目传递依赖.
目前,我有两个项目:
无论我如何尝试,当我构建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) 为gradle构建系统启用multi-dex选项很容易,但是我没有找到如何为ant构建启用此选项的示例.怎么归档这个?
build-system ×10
build ×2
meson-build ×2
android ×1
ant ×1
autotools ×1
c ×1
compilation ×1
css ×1
emacs ×1
go ×1
header ×1
javascript ×1
macros ×1
node.js ×1
npm ×1
portability ×1
qt-creator ×1
sass ×1
scons ×1
sftp ×1
static ×1
sublimetext ×1