[英]How to fix undefined reference to `b2World::b2World(b2Vec2 const&)'
main.cpp
#include <iostream>
#include <Box2D/Box2D.h>
int main() {
int32 velocityIterations = 6;
int32 positionIterations = 2;
b2Vec2 gravity(0.0f, -10.0f);
b2World world(gravity);
std::cout << "Hello, world!" << std::endl;
}
我得到的錯誤:
未定義對`b2World :: b2World(b2Vec2 const&)'的引用
當我嘗試在CMakeLists.txt中鏈接Box2D時:
include_directories(C:/Users/blahblah/CPPLibs)
target_link_libraries(HelloWorld Box2D)
我得到:
c:/ mingw / bin /../ lib / gcc / x86_64-w64-mingw32 / 6.1.0 /../../../../ x86_64-w64-mingw32 / bin / ld.exe:找不到-lBox2D
如何將Box2D正確導入到我的項目中?
您無法編譯,因為您的鏈接器找不到Box2D源文件。 您必須手動添加.cpp文件(這是一個較差的解決方案),或者使用Box2D源代碼創建靜態庫(例如... / Box2D_v2.3.0 / Box2D / Box2D)。 生成的文件(例如libBox2D.a)添加到您的項目中,並且應該對其進行編譯而不會出現任何問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.