Visual Studio не може да се свързва на 32 бита, но може на 64 бита

Създадох проект и както винаги правя, създадох 2 платформи (64 и 32 бита) (това е DLL). Написах кода и го тествах и всичко мина страхотно (винаги тествам на 64-битова конфигурация), но тъй като исках да тествам на моята 32-битова XP VM, имам проблем с LINK.

Използвам API WSASelectEvent в моя код (както много други API на WSA/Winsock), но в 32-битова конфигурация и само в 32-битова конфигурация линкерът отказва да намери _WSASelectEvent.

Получавам добре познатата грешка LNK2001:

"грешка LNK2001: неразрешен външен символ _WSAEventSelect"

Със сигурност се свързвам към ws2_32.lib и със сигурност включвам winsock2.h, тъй като използвам други API (като WSAStartup и WSACleanup и структури и какво ли още не в моя код, очевидно за използване на winsockets).

така че знаейки, че обичам да се забърквам с конфигурацията по време на работа (това е доста малък проект, нищо не е твърде голям), реших да се разболея със сигурност и създадох нов проект във визуално студио, поставете кода и създайте нова платформа за компилиране в ( с GUI, разбира се), но имам същите резултати.

В продължение на 2-3 часа сърфирах в мрежата, за да не се поправи и дори се опитах да сравня командния ред за компилиране и командния ред за връзка, който освен нормалните /MACHINE:x64/x86 и целевите папки е абсолютно същият.

може би знаете този проблем или решение за него?

ЗАБЕЛЕЖКА:: intellisense ме предупреждава за това и Visual Studio няма да предложи списък с параметри, когато е написано WSASelectEvent(, но „Отидете на дефиниция“ със сигурност ме отвежда до Winsock2.h.


person user340495    schedule 17.09.2013    source източник
comment
Може би това е проблем с включването на заглавния файл. winsock vs winsock2.   -  person Dayal rai    schedule 17.09.2013
comment
Вече проверих това, в отчаяние се опитах да включа всяка пермутация на тези 2 ...   -  person user340495    schedule 17.09.2013


Отговори (1)


РЕШЕН,

добре, така че очевидно съм направил каша с включването на моите собствени библиотеки. след като включих winsock2.h на няколко други места, успях да го компилирам и на 32 бита.

Благодаря за отделеното време!

person user340495    schedule 17.09.2013