параметры g , с Mac на cygwin

#g #cygwin

#g #cygwin

Вопрос:

Я пытаюсь запустить этот код в файле с именем make-simple.sh из cygwin с sh make-simple.sh Этот файл содержит следующий код, необходимый для компиляции main.cpp файл

 #!/bin/bash
g   -c -arch i386 -arch x86_64 -O3 -fno-tree-pre -fno-strict-aliasing -DNDEBUG -msse3 -mssse3 -I/usr/include/nite -I/usr/include/ni -DXN_SSE -o Release/main.o ../SingleControl/main.cpp
g   -o ./SingleControl ./Release/main.o ./Release/signal_catch.o ./Release/kbhit.o -arch i386 -arch x86_64  -L../Bin -lOpenNI -lXnVNite
  

Я думаю, что это работает только на Mac. Возможно ли заставить его работать под Windows с помощью cygwin?

Спасибо.

Ответ №1:

Передайте только одно -arch значение.

РЕДАКТИРОВАТЬ: или, лучше, вообще никаких. Вот так:

 #!/bin/bash
g   -c -O3 -fno-tree-pre -fno-strict-aliasing -DNDEBUG -msse3 -I/usr/include/nite -I/usr/include/ni -DXN_SSE -o Release/main.o ../SingleControl/main.cpp
g   -o ./SingleControl ./Release/main.o ./Release/signal_catch.o ./Release/kbhit.o -L../Bin -lOpenNI -lXnVNite
  

Комментарии:

1. По-прежнему выдается ошибка «g : x86_64: такого файла или каталога нет». Возможно, это не проблема с Mac для Windows, как я думал. Спасибо

2. Вам нужно удалить как параметр , так и значение.

3. #!/bin/bash g -c -O3 -fno-tree-pre -fno-strict-aliasing -DNDEBUG -msse3 -msse3 -I/usr/include/конечный ввод /usr/include/ni -DXN_SSE -o Выпуск /main.o ../SingleControl/main.cpp g -o ./SingleControl ./Release/main.o ./Release/signal_catch.o ./Release/kbhit.o -L../Bin -lOpenNI -lXnVNite

4. теперь ошибка: нет такого файла или directorycpp g : нет входных файлов ./Release /main.o: файл не распознан: формат файла не распознан