【问题标题】:How to build a c++ program in Eclipse which uses SDL2如何在使用 SDL2 的 Eclipse 中构建 c++ 程序
【发布时间】:2019-03-19 01:46:03
【问题描述】:

我用 Eclipse 用 C++ 编写了一个程序。如果我构建它并在我的机器上运行它,它工作正常。但是,如果我将它发送给没有 SDL 框架的人,它就不起作用。我的机器和另一台无法使用它的机器是mac。我需要更改哪些内容来构建我的程序?

Eclipse 中的构建控制台只是这样说:

00:14:23 **** Incremental Build of configuration Release for project     Salsa Kit ****
make all 
Building file: ../src/main.cpp
Invoking: Cross G++ Compiler
g++ -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/main.d" -MT"src/main.o" -o "src/main.o" "../src/main.cpp"
Finished building: ../src/main.cpp

Building target: Salsa Kit.app
Invoking: Cross G++ Linker
g++ -L/Library/Frameworks/SDL2.framework -L/Library/Frameworks/SDL2_image.framework -framework SDL2 -framework Cocoa -framework          SDL2_image -o "Salsa Kit.app"  ./src/engine/SE.o ./src/engine/SE_Audio.o ./src/engine/SE_Graphics.o ./src/engine/SE_Input.o  ./src/main.o   
Finished building target: Salsa Kit.app


00:14:26 Build Finished. 0 errors, 0 warnings. (took 3s.139ms)

【问题讨论】:

    标签: c++ eclipse macos sdl-2


    【解决方案1】:

    您需要在应用程序中包含所需的运行时库(例如 SDL、Visual Studio 可再发行组件等,以及您使用的任何东西)。

    通常您会将所需的库添加到应用程序安装程序/程序包中 - 您还需要构建这些库。

    对于通常是 MSI 文件的 Windows。对于 Linux,RPM 或 DEB 包很常见。

    【讨论】:

    • Jesper Juhi 您如何包含这些库?
    • @Luke Pasfield :您将向构建系统添加代码以构建安装程序/包。在该包中,您将添加所需的二进制文件(库)以及在安装应用程序时将它们复制到目标系统上适当位置的说明。
    • 我听说有一种更简单的方法,您可以通过链接库来做一些事情。我在 cplusplus.com 上问了这个问题,有人给了我这个答案:cplusplus.com/forum/general/244070 第 4 条评论。我找不到任何方法来链接它。
    • @Luke 在 一些 的情况下,您可以静态链接所有库,然后可执行文件将是自包含的。这要求您的编译器支持其运行时库的静态链接,并且您使用的所有其他库也支持静态链接。并不总是可能的,但如果它是并且这就是你想要的,那就去吧。顺便提一句;构建安装程序并不困难 - 一天(或两天)的工作。
    猜你喜欢
    • 2012-07-22
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    • 2016-05-18
    • 1970-01-01
    • 2015-11-24
    • 2016-09-15
    • 1970-01-01
    相关资源
    最近更新 更多