Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
I';我有一个cpythonc++;带有C+的模块+;11码,但我能';我似乎没有建立在特拉维斯·西的基础上_Python_C++11_Travis Ci - Fatal编程技术网

I';我有一个cpythonc++;带有C+的模块+;11码,但我能';我似乎没有建立在特拉维斯·西的基础上

I';我有一个cpythonc++;带有C+的模块+;11码,但我能';我似乎没有建立在特拉维斯·西的基础上,python,c++11,travis-ci,Python,C++11,Travis Ci,这个项目在我本地的Ubuntu12.04和MacOSX10.10(带有FinkPython)机器上运行良好。我似乎不知道如何配置.travis.yml以获得使用g++-4.8(4.9或5.x)构建的.cpp文件也可以 项目: 我最近一次失败的尝试: language: python python: - "2.7" - "3.4" before_install: - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test -

这个项目在我本地的Ubuntu12.04和MacOSX10.10(带有FinkPython)机器上运行良好。我似乎不知道如何配置.travis.yml以获得使用g++-4.8(4.9或5.x)构建的.cpp文件也可以

项目:

我最近一次失败的尝试:

language: python

python:
  - "2.7"
  - "3.4"

before_install:
  - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
  - sudo apt-get update -qq
  - if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi

install:
  - sudo apt-get install -qq gcc-4.8 g++-4.8
  - python setup.py install

script:
  - python setup.py test 
给出:

gcc -pthread -fno-strict-aliasing -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/opt/python/2.7.9/include/python2.7 -c src/libais/ais_py.cpp -o build/temp.linux-x86_64-2.7/src/libais/ais_py.o -std=c++11
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default]
cc1plus: error: unrecognized command line option ‘-std=c++11’
my setup.py的关键部分:

EXTRA_COMPILE_ARGS = []
if sys.platform in ('darwin', 'linux', 'linux2'):
    EXTRA_COMPILE_ARGS = ['-std=c++11']

AIS_MODULE = Extension(
    '_ais',
    extra_compile_args=EXTRA_COMPILE_ARGS,

谢谢多米尼克。我试着打印东西,这很有帮助。这让我想到,我可以显式地强制python使用正确的编译器。这使我们更容易看到正在发生的事情

install:
  - sudo apt-get install -qq gcc-4.8 g++-4.8
  - CC=g++-4.8 python setup.py install

哪些有效。

您能确认Travis CI上的g++版本吗?您可以在安装之前在
中添加一行打印版本,例如
g++--version
。在G++4.7之前的版本中,您必须使用
-std=c++0x
,对于较新的版本,您可以使用
-std=c++11
。参考:不带sudo的基于容器的解决方案: