【问题标题】:Building OpenImageIO on Kubuntu 14.10: make error在 Kubuntu 14.10 上构建 OpenImageIO:出错
【发布时间】:2015-04-23 22:49:48
【问题描述】:

这里是 Ubuntu 的新手,这真的让我很困惑。

目前正在尝试使用 make 构建 OpenImageIO,按照此处概述的步骤操作:https://sites.google.com/site/openimageio/checking-out-and-building-openimageio

据我所知,我已经安装了所有依赖项,但是尝试运行 make 会出现以下错误:

platform=linux64, hw=x86_64
OPENIMAGEIO_SITE = shanesimmsart-pc
dist_dir = dist/linux64
INSTALLDIR = /home/shanesimmsart/oiio
( cd build/linux64 ; make  )
make[1]: Entering directory `/home/shanesimmsart/oiio/build/linux64'
make[2]: Entering directory `/home/shanesimmsart/oiio/build/linux64'
make[3]: Entering directory `/home/shanesimmsart/oiio/build/linux64'
make[3]: Leaving directory `/home/shanesimmsart/oiio/build/linux64'
make[3]: Entering directory `/home/shanesimmsart/oiio/build/linux64'
[  0%] Building CXX object src/libutil/CMakeFiles/OpenImageIO_Util.dir/strutil.cpp.o
/home/shanesimmsart/oiio/src/libutil/strutil.cpp: In function ‘OpenImageIO::v1_6::string_view OpenImageIO::v1_6::Strutil::parse_nested(OpenImageIO::v1_6::string_view&, bool)’:
/home/shanesimmsart/oiio/src/libutil/strutil.cpp:768:28: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
     for ( ; nesting && len < p.size(); ++len) {
                            ^
cc1plus: all warnings being treated as errors
make[3]: *** [src/libutil/CMakeFiles/OpenImageIO_Util.dir/strutil.cpp.o] Error 1
make[3]: Leaving directory `/home/shanesimmsart/oiio/build/linux64'
make[2]: *** [src/libutil/CMakeFiles/OpenImageIO_Util.dir/all] Error 2
make[2]: Leaving directory `/home/shanesimmsart/oiio/build/linux64'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/shanesimmsart/oiio/build/linux64'
make: *** [cmake] Error 2

有人知道我可能做错了什么/可能会丢失吗?

【问题讨论】:

    标签: linux ubuntu boost build makefile


    【解决方案1】:

    您使用的软件包默认启用了-Werror 标志,这会强制编译器将所有警告视为错误。这对于向用户发送代码总是一个坏主意,因为用户将拥有各种各样不同的编译器和编译器版本,因此用户将得到与开发人员不同的警告。当开发人员构建代码时,他们绝对应该使用-Werror。当开发者向用户发送代码时,他们绝对应该默认启用-Werror

    不管怎样,看看 Git 中的代码,如果你这样做:

    make STOP_ON_WARNING=no
    

    它将禁用-Werror

    【讨论】:

    • 非常感谢,这样做并解决了我的问题,尽管我在 CMakeLists.txt 中设置了标志: set( CMAKE_CXX_FLAGS "-Wno-sign-compare -Wno-conversion-null" )
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-16
    • 2016-02-21
    • 2015-05-15
    • 2016-03-10
    • 1970-01-01
    • 2013-08-12
    相关资源
    最近更新 更多