Проблемы установки проекта статической библиотеки Box2D - PullRequest
0 голосов
/ 01 июля 2011

Эй, я просто сделал следующие шаги:

  • Скачал Box2d 2.1.2 и использовал cmake для сборки снарядов msVS ++
  • Построил Box2D.sln в режиме отладки и выпуска, ноне трогал библиотеки или библиотеки
  • Сделал новый проект Win32 и скопировал код из "Hello World", который был включен в загрузку Box2D, в основной исходный файл моих новых проектов
  • Добавленокаталог include для того же исходного кода, который используется Cmake для генерации проектов
  • Добавил проект "Box2D" (проект статической библиотеки) к решению, чтобы я мог изменить код библиотеки;Сгенерировано cMake
  • Добавлен «Box2D» в качестве ссылки в общих свойствах моих новых проектов
  • Посмотрел свойства библиотеки «Box2D» и установил «Связать зависимости библиотеки» в YES
  • Обдумал вопрос, который я поставил в качестве комментария над включением (пожалуйста, ответьте также!)

Вот 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. Почему он их не видит?

1 Ответ

1 голос
/ 02 июля 2011

Обнаружил проблему: не увидел предупреждение о том, что Box2D.h был пропущен, потому что он был помещен перед stafx.h;поэтому я изменил порядок включений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...