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

  • 相关阅读:
    python自定义ORM并操作数据库
    python 元类理解
    Python中type()详解:动态创建类
    Centos7安装教程
    数据库建模:学生信息系统搭建实验
    数据库索引、视图与触发器
    用python批量插入数据到数据库中
    制作一个简单的部门员工知识分享的python抽取脚本
    【Mybatis】XML配置实现增删改查
    NIO,AIO,BIO
  • 原文地址:https://www.cnblogs.com/minggoddess/p/3149965.html
Copyright © 2011-2022 走看看