c++ - Box2D静态库项目安装问题

标签 c++ header project hyperlink static-libraries

嘿,所以我只是采取了以下步骤:

  • 下载 Box2d 2.1.2 并使用 cmake 构建 msVS++ 射弹
  • 在调试和发布时构建了 Box2D.sln,但没有触及库或 dll
  • 创建一个新的 Win32 项目,并将 Box2D 下载中包含的“Hello World”代码复制到我的新项目主源文件中
  • 在 Cmake 用于生成项目的相同源代码中添加了一个包含目录
  • 将项目“Box2D”(静态库项目)添加到解决方案中,以便我可以修改库的代码;由 cMake 生成
  • 在我的新项目通用属性下添加“Box2D”作为引用
  • 查看“Box2D”的库管理器属性并将“链接库依赖项”设置为"is"
  • 思考我作为评论放在上面的问题(也请回答!)

这是Hello World.cpp(请在评论中回答问题)

/* I've also added the "Box2D" project generated by cmake, which includes 
    all the same files that are in folder my include directory points to, so i could alter the code.
    Does this mean i should change <Box2D\Box2D.h> to just "Box2D.h" ?  */
#include <Box2D\Box2D.h>
#include "StdAfx.h"
#include <cstdio>

int main(int argc, char** argv)
{
    B2_NOT_USED(argc);
    B2_NOT_USED(argv);

    // Define the gravity vector.
    b2Vec2 gravity(0.0f, -10.0f);

    // Do we want to let bodies sleep?
    bool doSleep = true;

         // blah blah, rest of code doesn't matter
}

然而,当尝试运行它时,我得到了诸如

之类的错误
1>c:\libraries and headers\box2d_v2.1.2\box2d_v2.1.2\box2d\build\box2d helloworld\box2d helloworld\box2d helloworld.cpp(30): error C3861: 'B2_NOT_USED': identifier not found

这些都是关于未定义的标识符,这些标识符在 Box2D.h 中包含的许多头文件中定义。 为什么它看不到它们?

最佳答案

发现问题:没看到warning说Box2D.h被跳过是因为它放在stafx.h之前;所以我调换了包含的顺序。

关于c++ - Box2D静态库项目安装问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6544361/

相关文章:

c++ - 如何去掉txt文件末尾的 '\n'

jquery - 固定标题 - 打开并推送内容

c++ - 包括从 Windows 到 Linux 的 header 路径更改

visual-studio-2010 - 带有 AnkhSVN 的 Visual Studio 2010 - 项目克隆

android - 防止 Android Studio/Intellij Idea 在启动时构建项目

c++ - 线程在 DLL ExitInstance 上消失

c++ - C++11 std::string::operator[] 会返回空终止缓冲区吗

c++ - 为什么在同一个类上使用不同的(shared_ptr 和普通)指针构造函数会得到不同的结果?

Oracle - 如何编写查询以返回以管道分隔的列标题名称?

visual-studio - 无法将文件添加到项目中。此文件在项目目录树内错误