C ++ и SDL: почему я не могу скомпилировать эту программу? - PullRequest
0 голосов
/ 12 ноября 2010

По какой-то причине я не могу скомпилировать эту программу, потому что якобы отсутствует SDL.Он прекрасно компилируется в режиме отладки, но не в Release.Я использую Visual C ++ 2010. Я связался с SDL с помощью каталогов VC ++.Вот мой (маленький) код.

//main.cpp
#include "main.h"

void logger::log(string logging)
{
    file << logging << "\n";
}

int main(int argc, char* argv[])
{
    logger logObj;
        logObj.log("uShootZombies started.");

    SDL_Init(SDL_INIT_EVERYTHING);
        logObj.log("SDL initalized.");

    SDL_Quit();
        logObj.log("SDL quit.");

    return 0;
}


//main.h
#include <SDL.h>
#include <fstream>
#include <string>

using namespace std;

class game
{
    public:
    private:
};

class logger
{
    public:
    void log(string logging);
    logger()
    {
        file.open("Log.txt", ios::out);
    }

    ~logger()
    {
        file.close();
    }
    private:
    ofstream file;
};

Что я делаю не так?Если вам нужна дополнительная информация, просто спросите.;)

Ответы [ 2 ]

4 голосов
/ 12 ноября 2010

Убедитесь, что вы добавили ссылки на свою библиотеку в режим выпуска, а также в режим отладки. Я не уверен на 100% в SDL, но некоторые сторонние библиотеки поставляются с двумя вариантами: отладка и выпуск. Я полагаю, вам придется настроить режим выпуска среды IDE с режимом выпуска файлов библиотеки.

2 голосов
/ 12 ноября 2010

Откройте свойства своего проекта и убедитесь, что вы связываетесь с библиотекой SDL в конфигурациях Debug и Release: в левом верхнем углу диалогового окна свойств есть поле со списком, где вы можете выбрать конфигурацию для редактирования.

...