0

我生成了一个 c++ 共享库,并将它与从 php 调用的 C++ 控制台应用程序集成。我在我的 Windows 操作系统上尝试了这个,它工作得很好。现在我必须将它传输到 linux 网络服务器中。我知道我必须再次在 linux 中编译 c++ 控制台应用程序才能运行它,并且可能还会生成 c++ 共享库。我是 linux 操作系统的新手,如何在 linux 服务器中编译 c++ 控制台应用程序,分配所有附加库、包含文件、从 c++ 共享库生成的头文件,就像我们在 Visual Studio 中所做的那样?任何有关此的链接将不胜感激。由于共享库来自 matlab,我还应该在编译 c++ 控制台应用程序时分配 matlab 包含文件和库。

4

1 回答 1

1

我认为您将必须获得您的 matlab 库的 Linux端口,这可能涉及安装 matlab 并在 Linux 上工作(以及一些测试和调试)。

当你的库准备好后,也移植你的控制台应用程序(调试等),然后打开一个终端:-

gcc -Wall console_app.c /path/to/your/libFromMatlab.a -o console_app

如果您的控制台应用程序的源代码跨越多个文件,您可能需要考虑使用类似code::blocks的 IDE或使用 makefile 来简化您的工作。

将您的“libFromMatlab.so”(注意上面的 .so 与 .a)位置添加到库路径(或将其复制到其他人所在的位置),然后确保您的 console_app 设置了可执行标志。

NB:在目标平台以外的任何平台上开发,没有交叉编译就相当于玩俄罗斯轮盘赌……只是杀伤力小一些。

-----编辑------
我也看到了这篇文章,并认为第 4 节可能有一些价值。

于 2013-05-31T10:49:12.510 回答