Tag: makefile

未定义的符号:在C中嵌入Python时的PyExc_ImportError

我正在开发一个调用python脚本的C共享库。 当我运行应用程序时,我收到此错误: Traceback (most recent call last): File “/home/ubuntu/galaxy-es/lib/galaxy/earthsystem/gridftp_security/gridftp_acl_plugin.py”, line 2, in import galaxy.eggs File “/home/ubuntu/galaxy-es/lib/galaxy/eggs/__init__.py”, line 5, in import os, sys, shutil, glob, urllib, urllib2, ConfigParser, HTMLParser, zipimport, zipfile File “/usr/lib/python2.7/zipfile.py”, line 6, in import io File “/usr/lib/python2.7/io.py”, line 60, in import _io ImportError: /usr/lib/python2.7/lib-dynload/_io.so: undefined symbol: PyExc_ImportError 如果我尝试从控制台导入模块io工作正常: Python 2.7.1+ (r271:86832, Apr 11 […]

快速覆盖-Werror标志的方法?

如果cc配置设置为使用-Werror ,有没有办法在使用make时覆盖终端的-Werror标志?

Cygwin – Makefile-error:目标`main.o’的配方失败

我目前无法编写好的makefile而且不知道为什么.. -.- 这是我的主要内容: #include #include int main(int argc, char *argv[]) { printf(“MEEEEEP”); return (0); } 这是我的makefile: # make SYSTEM= OS= ENVIRONMENT= # Binaries to use ifeq ($(ENVIRONMENT),MINGW) CXX = i686-pc-mingw32-g++ else CXX = g++ endif REMOVE = rm -vf RC = windres EXE = .exe ############################################################# # Info ifeq ($(CXX),g++) INFO_CXX = g++ -dumpversion; g++ […]

在编译时获取源文件的基本名称

我正在使用GCC; __FILE__返回当前源文件的完整路径和名称: /path/to/file.cpp 。 有没有办法在编译时获取文件的名称file.cpp (没有它的路径)? 是否可以以便携方式执行此操作? 模板元编程可以应用于字符串吗? 我在错误记录宏中使用它。 我真的不希望我的源代码完整路径进入可执行文件。

对make(Linux)和nmake使用相同的makefile(Windows)

我有一个简单的C-Programm(1源文件),我想在Linux上和Windows上通过make resp编译。 NMAKE。 是否有可能使用单个makefile实现此目的? 我想到了类似的东西 ifeq($(MAKE), nmake) // nmake code here else // make code here endif 不幸的是,nmake似乎不理解ifeq ,所以我无法使用它。 我有一个工作的makefile,但会产生非常难看的结果: hello: hello.c $(CC) hello.c 这适用于两个系统。 问题是结果取决于各个编译器的默认行为。 在Linux下我得到一个可执行的名为’a.out’而不是’hello’。 在Windows下我得到’hello.exe’,但也有’hello.obj’,我不想拥有它。 有没有人知道另一种方式? 或者我正在尝试绝对不可能的事情?

添加编译器选项而不编辑Makefile

我应该通过Makefile编译一个用C编写的程序。 我应该在Makefile中插入一些选项,例如: -O2, -march=i686 。 如何在不写入文件的情况下在Makefile中插入此选项?

sclite(SCTK)安装,文件无法识别,文件格式无法识别,Cygwin

我目前正在尝试安装NIST的sclite ,它是SCTK 2.4.0( github或更新版本 )的一部分。 我正在尝试在bash安装Cygwin 。 安装使用make完成。 我做了什么 我为安装创建了一个目录并导航到该目录 mkdir sctk2.4.0 cd sctk2.4.0 (你可能需要$ cd /path/to/dir/sctk2.4.0 。) 我从github克隆了这个项目 git clone https://github.com/chinshr/sctk.git 导航到基础文件夹 cd sctk 然后我开始按照INSTALL文件中的说明操作。 运行 make config 工作得很好,但打字后 make all 我得到了后面的输出 (mkdir -p bin) (cd src; make all) make[1]: Entering directory ‘/cygdrive/c/David/programs/sctk2.4.0/sctk/src’ (cd asclite; make all) make[2]: Entering directory ‘/cygdrive/c/David/programs/sctk2.4.0/sctk/src/asclite’ (cd core; make […]

GCC的NetBeans设置

当我点击项目属性时,我可以设置Warning level ( More Warnings )和Command Line -> Additional Options ( -std=c99 )。 但我希望我的所有C项目默认都有这种选项,而不是每次创建新项目时都手动设置它们。

是否可以在makefile中定义C宏?

是否可以将等效的#define VAR (在C程序中)放入makefile中,以便可以控制程序的哪一部分应该编译?

制定配方以防止重建非依赖目标

我有以下项目目录结构: Prog /include /include/dir1 /include/dir2 /src /src/dir1 /src/dir2 App1依赖于mod1和mod2,其中App2仅依赖于mod1。 使用下面表示的makefile,模块和应用程序都可以正确构建 – 但是如果我对mod2进行了更改然后执行’make all’,即使App2没有依赖项,它也会被重建。 这是因为OBJ被传递到目标构建配方中的是所有OBJ,而不仅仅是当前目标所需的特定OBJ。 我想知道makefile的哪些更改只能将依赖对象传递给正在构建的当前目标。 makefile: CC := g++ LD := g++ TARGETS := app1 app2 MODULES := mod1 mod2 INC_DIR := $(addprefix include/,$(MODULES)) SRC_DIR := $(addprefix src/,$(MODULES)) BUILD_DIR := $(addprefix build/,$(MODULES)) SRC := $(foreach sdir,$(SRC_DIR),$(wildcard $(sdir)/*.cpp)) OBJ := $(patsubst src/%.cpp,build/%.o,$(SRC)) INCLUDES := -Iinclude $(addprefix […]