如何静态构建和链接LuaJIT(VS 2013)

teh*_*atz 3 c++ linker luajit visual-studio-2013

前提:我希望我的C++应用程序不依赖于任何东西Microsoft Visual C++ redistributable,所以我可以发送可以开箱即用的可执行文件.

什么我先做:运行时库切换到Multithread (/MT)DLL Multithread (/MD)以避免需要msvcr110.dll(?,不应该VS 2013需要120版本,因为它是编译器版本).为此,我还必须使用相同的运行时库重新编译我正在使用的另一个库,这样才有效.我的.exe可以在任何地方运行而没有问题(或者我不知道,哈哈).

然后我添加了一些使用LuaJIT的功能.我已经通过msvcbuild.bat提供的包构建了LuaJIT ,它就像一个魅力,但现在我的可执行文件需要msvcr110.dll运行.我想这是因为LuaJIT是用/ MD标志编译的,但我想知道是否有一种正确的方法来做我想要的.

小智 5

您应该使用静态命令行参数运行msvcbuild.bat.