请原谅我,如果这是一个愚蠢的问题,但我正在关注一本书,它不工作。 我有一个游戏引擎,它住在一个dll中。它在实际游戏应用程序中使用的几个外部函数:dll和应用程序之间的C++ extern用法
extern void game_preload();
这一切都是完美的,很正常,但是当我去打造我得到一个错误:
Undefined reference to `game_preload()'
为什么这是?我怎么才能得到它建立的DLL,所以我可以在应用程序中实现这些功能?
我所关注的书叫做“高级2D游戏开发”,它没有提到存在问题。
编辑:我读了这本书错了,我应该做一个静态库,而不是一个动态的。但是我可以问,是否有类似于动态库的“extern”用法?
在应用程序中使用'__declspec(dllexport)'和'__declspec(dllimport)'? ('__declspec(dllimport)void game_preload();')(它只适用于静态链接。) – Naszta 2012-07-07 16:33:36
如果你按照本书的指示设置VC项目,那么你将创建一个EXE项目,而不是一个DLL项目。编写自己的game_preload函数是必需的,这就是您创建自定义游戏的方式。 – 2012-07-07 16:39:10