Я хочу использовать статическую библиотеку, скомпилированную с Visual Studio 2013 в CodeBlocks + GCC. Но, к сожалению, у меня возникли проблемы с привязкой.Невозможно использовать статическую библиотеку VisualStudio с GCC
Затем я сделал этот пример кода, чтобы попытаться получить что-то работу:
#include <iostream>
void HelloWorld()
{
std::cout << "Hello World !" << std::endl;
}
И я тоже написал заголовок:
#pragma once
void HelloWorld();
К сожалению, при попытке использовать его с GCC, компиляция заканчивается неудачей (издание ссылки). Visual Studio компилирует статические библиотеки как .lib-файлы, а все статические библиотеки в папке MinGW/GCC - это файлы .a. Я где-то читал, что .a - чистые статические библиотеки, когда .lib может быть статическими библиотеками или импортировать библиотеку (для использования DLL).
Тогда я не знаю, что мне теперь делать? Возможно, что-то в моем коде неверно? Я признаю, что я не знаком со статическими библиотеками, поскольку я тоже не обычный пользователь VisualStudio. Спасибо за помощь.
Означает ли это, что просто компилировать .lib-файлы как C-код, а не C++? Или это нечто более сложное? – MadMass
Ну, это, конечно, более сложно: вам нужно создать подходящий интерфейс C, экспортировать соответствующие функции, а _not_ экспортировать другие. Я знаю, что эти вещи можно сделать с помощью DLL, и я думаю, что они не будут выполняться с использованием статической ссылки. Однако я лично не сделал необходимую настройку, т. Е. Я не знаю подробностей о том, как это сделать. –