LINUX.ORG.RU

скомпиляй exe, его как dll можно загружать.

ilovewindows ★★★★★ ()

Гугли про кросскомпиляцию для винды из под линакса.

yoghurt ★★★★★ ()

Поставь восьмерочку и скомпилируй *.dll

MikeDM ★★★★★ ()

скомпилить ты, допустим, скомпилишь, но ведь ещё и запустить и протестировать нужно, а для этого винда нужна

Harald ★★★★★ ()
Ответ на: комментарий от Harald

скомпилить ты, допустим, скомпилишь

Скомпилит, конечно.

но ведь ещё и запустить и протестировать нужно, а для этого винда нужна

Хватит с виндузятников и вайна.

Manhunt ★★★★★ ()

Хороший вопрос. Мне тоже нужно канпелять под онтопиком на вантуз. Погуглил за mingw, тот ещё билирубин.

fero ★★★★ ()

винда в виртуалке + msvs + cmake + DVCS

глобально и надёжно :)

Stil ★★★★★ ()

Гы. Говорят, в C++ придумали такую вещь, как name mangling, чтобы разные компиляторы не могли просто так линковать программы/библиотеки друг с другом (поскольку каждый компилятор использует свою схему именования классов, функций и т. п.). Да и сишную библиотеку, скомпилированную в mingw, использовать в MSVC не очень-то просто, как оказалось.

Kiborg ★★★ ()
Ответ на: комментарий от Manhunt

Хватит с виндузятников и вайна.

Если бы ещё обновления его постоянно не ломали.

Napilnik ★★★★★ ()
Ответ на: комментарий от ilovewindows

Нет. Для своих извратов мне пришлось собрать под минжв из сорцов какие то пакеты типа PIL (говорят что их можно нормально поставить, но мне лень было искать как). Для хеллоуворлдов ничего не нужно, просто собираешь и оно работает.

AIv ★★★★★ ()
Ответ на: комментарий от Kiborg

Да и сишную библиотеку, скомпилированную в mingw, использовать в MSVC не очень-то просто, как оказалось.

Если речь про динамические сишные библиотеки, то не надо вводить народ в заблуждение - все работает.

mamba_namba_karamba ()
Ответ на: комментарий от ilovewindows

Блин, я ради вас впервые за полгода загрузил винду - не стухла еще оказывается... вин7 ультимате, запускал в терминале, все работает.

~/tmp$ cat test.cpp
#include<stdio.h>

int main(){
        printf("hello!\n");
        return 0;
}
~/tmp$ i586-mingw32msvc-g++ -o test.exe test.cpp
~/tmp$ scp test.exe ahome:/mnt/C/test.exe
AIv ★★★★★ ()
Ответ на: комментарий от ilovewindows

Ты мне должен литр коньяку для снятия стресса от вида этой дряни;-)

AIv ★★★★★ ()
Ответ на: комментарий от ilovewindows

Флажок у компилятора стоял -mwindows, оказывается он отрубает ввод-вывод на консоль. Документацию начинать что ли читать на старости лет.

ilovewindows ★★★★★ ()

Поставь Mingw/Mingw32, настрой свой проект на сборку с использованием тулчейна mingw и собирай.

m0rph ★★★★★ ()
Ответ на: комментарий от mamba_namba_karamba

У меня тоже все работает, но заставить это дело заработать оказалось не очень просто. Ну как не просто - скорее, не очевидно по первости.. В общем сишные библиотеки да, работают, спасибо манам.

Kiborg ★★★ ()
Ответ на: комментарий от ilovewindows

Документацию почитать стоит, этот флаг не отрубает вывод на консоль, он собирает PE с subsystem windows (шорткат для -Wl,--subsystem windows), в противовес subsystem console. И винда логично (согласно документации) у таких экзешников консоль отключает.

А вот почему вайну пофигу - это вопрос интересный, но учитывая их раздолбайство хорошо, что вообще что-то работает в соответствии со спеками.

anonymous ()
Ответ на: комментарий от anonymous

Предполагаю злой умысел, врядли они не смогли отличить тройку от двойки в pe-заголовке.

ilovewindows ★★★★★ ()

Собственно, нужно скомпилять c++ библиотечный проект, в dll для windows не выходя из linux. Как это сделать? Не нашел подходящих ключей gcc...

Два вопроса:

  • Чем будет загружена эта DLLка на венде?
  • В каком виде она экспортирует интерфейсы наружу?

Если загружена она будет в программе, собранной MSVC, да ещё и интерфейс даёт в виде плюсовых классов, то собрать то может и получится (в mingw), а вот работать оно вряд ли будет =).

Deleted ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.