2012-12-17 3 views
0

Когда я пытаюсь скомпилировать случайный проект в коде: блоки, Cygwin Компилятор выдает неопределенную ссылочную ошибку о собственных файлах библиотека:Cygwin Компилятор: Undefined Ссылка

/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libcygwin.a(_cygwin_crt0_common.o):_cygwin_crt0_common.cc:(.data+0x0): 
undefined reference to `___real__Znwj' 
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libcygwin.a(_cygwin_crt0_common.o):_cygwin_crt0_common.cc:(.data+0x8): 
undefined reference to `___real__ZdlPv' 

Я связывающая NETLINK библиотеки, а также WS2_32.lib

Это проблема компилятора?

+3

В случае, если это какой-то ключ, '__Znwj' является символом глобальной' оператора нового (unsigned int) 'и' __ZdlPv' для глобального 'operator delete (void *)'. Я не знаю, что означает префикс '___ real'. Я предполагаю, что вам просто нужно связать в библиотеке C++, что должно быть сделано автоматически, если для этапа ссылки вызывается команда 'g ++'. Есть ли у вас какие-либо идеи о том, что используется код команды :: blocks для связывания программы? –

+0

@MichaelBurr является правильным. __Znwj - это имя, которое происходит во время процесса компиляции. – cowboydan

+0

@MichaelBurr Code :: blocks выполняет эту команду: _g ++ - 3.exe -LC:/Users/Public/Documents/PROJEKTE/chatserver/-LD:/CodeBlocks/include -LC:/Users/Public/Documents/PROJEKTE/chatserver/-o ChatServer.exe .objs/main.o -lnetlink /cygdrive/c/Users/Public/Documents/PROJEKTE/chatserver/WS2_32.Lib -lnetlink C:/Users/Public/Documents/PROJEKTE/chatserver/WS2_32. Lib_ – SebBau

ответ

0

Другой совет, он исходит от _cygwin_crt0_common.cc. Таким образом, очевидно, что в центре чего-то не хватает. Вы используете версию gcc Cygwin, верно? Попробуй свой -lcygwin? Вы также можете попробовать -mno-cygwin.

Мой совет, как правило, использовать ванильный MinGW, создает чистые окна двоичные файлы (в утеря показывает POSIX) ..

+0

'-mno-cygwin' был удален/устарел в MinGW */Cygwin GCC. – rubenvb

+0

Вау, я этого не знал. Но это было «всего» год назад ... И я стараюсь избегать кигвин, как ад. – rioki

+0

Я считаю, что MinGW * GCC 4.6 выдает сообщение об ошибке, когда вы передаете ему '-mno-cygwin', это больше, чем год назад. И причина, по которой Python distutils не используется, как на этой платформе. – rubenvb

Смежные вопросы