zoukankan      html  css  js  c++  java
  • klayge 4.2.0 编译vc9

    CMake Error at CMakeLists.txt:442 (ADD_PRECOMPILED_HEADER):

    Unknown CMake command "ADD_PRECOMPILED_HEADER".

    CMake Warning (dev) in CMakeLists.txt:

    No cmake_minimum_required command is present. A line of code such as

    cmake_minimum_required(VERSION 2.8)

    should be added at the top of the file. The version specified may be lower

    if you wish to support older CMake versions for this project. For more

    information run "cmake --help-policy CMP0000".

    This warning is for project developers. Use -Wno-dev to suppress it.

    Configuring incomplete, errors occurred!

    CMake Error at CMakeLists.txt:442 (ADD_PRECOMPILED_HEADER):

    Unknown CMake command "ADD_PRECOMPILED_HEADER".

    CMake Warning (dev) in CMakeLists.txt:

    No cmake_minimum_required command is present. A line of code such as

    cmake_minimum_required(VERSION 2.8)

    should be added at the top of the file. The version specified may be lower

    if you wish to support older CMake versions for this project. For more

    information run "cmake --help-policy CMP0000".

    This warning is for project developers. Use -Wno-dev to suppress it.

    Configuring incomplete, errors occurred!

    CMake Error at CMakeLists.txt:28 (ADD_DEPENDENCIES):

    add_dependencies called with incorrect number of arguments

    CMake Error at CMakeLists.txt:30 (SET_TARGET_PROPERTIES):

    set_target_properties called with incorrect number of arguments.

    CMake Error at CMakeLists.txt:45 (ADD_POST_BUILD):

    Unknown CMake command "ADD_POST_BUILD".

    CMake Warning (dev) in CMakeLists.txt:

    No cmake_minimum_required command is present. A line of code such as

    cmake_minimum_required(VERSION 2.8)

    should be added at the top of the file. The version specified may be lower

    if you wish to support older CMake versions for this project. For more

    information run "cmake --help-policy CMP0000".

    This warning is for project developers. Use -Wno-dev to suppress it.

    Configuring incomplete, errors occurred!

    上面有一堆cmake的错误

    是我在用build_all.py运行失败之后自己尝试用cmake配置产生的

    这些只是因为。。cmake 没用最新版

    我使用的cmake 2.8.2

    ---------------------------------------------------------------------

    错误 1 error C2679: 二进制“=”: 没有找到接受“const KlayGE::InputActionMap”类型的右操作数的运算符(或没有可接受的转换) KlayGE_4_2_0Externaloostoostcontainerdetailpair.hpp 203

    错误 25 error C2220: 警告被视为错误 - 没有生成“object”文件 KlayGE_4_2_0KlayGECoreSrcKGEConfigKGEConfig.cpp 786

    这些是在klayGe生成时的错误

     是因为vc9的缘故 用vc10/11就不会这样

    http://www.opengpu.org/forum.php?mod=viewthread&tid=9659

    所以正确的安装方法应该是

    1 下载最新 python 和cmake 安装

    2 解压klayge 

    3 cfg_build.py 里面修改成适合自己的配置(可选)

    compiler = "vc9" # could be "vc11", "vc10", "vc9", "mingw", "auto".
    arch = ("x86", ) # could be "x86", "x64", "arm_app", "x86_app"
    config = ("Debug", "RelWithDebInfo") # could be "Debug", "Release", "MinSizeRel", "RelWithDebInfo"

    4运行build_all.py

    这里用vc9会遇到很多错误 1 error C2679: 二进制“=”: 这样的问题

    需要修改

    错误 4 error C2039: “i”: 不是“MeshMLLib::MathLib::recip_sqrt::FNI”的成员 e:KlayGE_4_2_0MeshMLLibsrcMeshMLLib.cpp 114

    union FNI
    {
    float f;
    int32_t i;
    } fni;
    fni.f = number; // evil floating point bit level hacking
    fni.i = 0x5f375a86 - (fni.i >> 1); // what the fuck?
    fni.f = fni.f * (threehalfs - (x2 * fni.f * fni.f)); // 1st iteration
    fni.f = fni.f * (threehalfs - (x2 * fni.f * fni.f)); // 2nd iteration, this can be removed

    return fni.f;
    }

    int32_t vc9不认识 改成int

    ----------------------------------------------------------

    改完以上两个地方 编译klayge还有如下几个错误

    警告 5 warning C4985: “WinMain”: 以前的声明上不存在属性。 e:KlayGE_4_2_0KlayGECoreSrcKGEConfigKGEConfig.cpp 786

    错误 2 error C2220: 警告被视为错误 - 没有生成“object”文件 e:KlayGE_4_2_0KlayGECoreSrcKGEConfigKGEConfig.cpp 786

    错误 4 fatal error C1083: 无法打开包括文件:“KHR/khrplatform.h”: No such file or directory E:KlayGE_4_2_0glloaderincludeglloaderglloader.h 64

    这个是少EGL要用的就装上

    错误 1 fatal error LNK1181: 无法打开输入文件“libvorbis_static_d.lib” KlayGE_AudioDataSource_OggVorbis

    --KlayGE_4_2_0ExternallibvorbislibsWin32

    这个下面生成的libvorbis_static.lib 复制下改名libvorbis_static_d.lib

    libvorbisfile_static.lib 复制下改名libvorbisfile_static_d.lib

     

    警告 1 warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library KlayGE_AudioDataSource_OggVorbis

    把#ifdef _In_
    int WINAPI WinMain(_In_ hInstance, _In_op_ /*hPrevInstance*/, LPSTR /*lpszCmdLine*/, int /*nCmdShow*/)
    #else
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPSTR /*lpszCmdLine*/, int /*nCmdShow*/)
    #endif

    改成
    #ifdef _In_
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPSTR /*lpszCmdLine*/, int /*nCmdShow*/)
    #else
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPSTR /*lpszCmdLine*/, int /*nCmdShow*/)
    #endif

  • 相关阅读:
    在VSCode中使用码云
    自定义博客样式
    bolb、bloburl、file、base64间的转换
    html2canvas的使用:vue中将div导出成图片
    vue-to-pdf的使用:vue中将div转换为pdf文件
    早期javac编译器优化
    HttpClient4.3 连接池参数配置及源码解读
    Java编译程序和运行过程详解
    JVM中的常量池详解
    MySQL索引背后的数据结构及原理
  • 原文地址:https://www.cnblogs.com/minggoddess/p/3149965.html
Copyright © 2011-2022 走看看