我已经生成了一个c ++共享库,并将其与从php调用的C ++控制台应用程序集成。我在我的Windows操作系统上尝试这个,它完美无缺。现在我必须将它转移到linux web服务器。我知道我必须再次在linux中编译c ++控制台应用程序来运行它,也可能生成c ++共享库。我是Linux操作系统的新手,如何在linux服务器上编译c ++控制台应用程序,分配所有额外的库,包含文件,从c ++共享库生成的头文件,就像我们在Visual Studio中一样?任何关于此的链接将受到高度赞赏。由于共享库来自matlab,我还应该在编译c ++控制台应用程序时分配matlab包含文件和库。
答案 0 :(得分:1)
我认为你必须得到你的matlab制作库的Linux port,这可能涉及安装matlab并在Linux上工作(以及一些测试和调试)。
当您的lib准备好后,也可以移植您的控制台应用程序(调试等所有),然后打开终端: -
gcc -Wall console_app.c /path/to/your/libFromMatlab.a -o console_app
如果您的控制台应用程序的源代码跨越多个文件,您可能需要考虑使用像code::blocks这样的IDE或使用makefile来简化您的工作。
将您的“libFromMatlab.so”(注意.so与上面的.a)位置添加到库路径(或将其复制到其他人所在的位置),然后确保您的console_app设置了可执行标志。
注意:在没有交叉编译的情况下在目标平台以外的任何平台上进行开发相当于玩俄罗斯轮盘赌...只有更少的致命性。
----- 编辑 ------我也遇到了this article,并认为第4节可能有一些价值。