2010-06-17 4 views
6

Mam DLL napisany w C w kodzie źródłowym. To jest kod dla General Polygon Clipper (jeśli jesteś zainteresowany). Używam go w projekcie C# za pośrednictwem opakowania C# na stronie głównej. Jest to dostarczane z skompilowaną biblioteką DLL.Jak skompilować DLL C dla 64-bitowego z Visual Studio 2010?

Od momentu przejścia na 64-bitową maszynę programistyczną z Visual Studio 2010 i 64-bitowym systemem Windows 7, aplikacja nie będzie już działać. Jest to błąd, który otrzymuję:

Podjęto próbę załadowania programu o nieprawidłowym formacie.

Wynika to z DLLImport ing na 32bit gpc.dll, jak już zebrane z rzeczy znalezionych w internecie.

Zakładam, że to wszystko zniknie, jeśli ponownie skompiluję bibliotekę DLL do wersji 64-bitowej, ale nie mogę z miłości do mnie wymyślić, jak to zrobić. Moje umiejętności C są proste, ponieważ mogę napisać program C z narzędziami GNU, ale nie mam doświadczenia z różnymi kompilatorami/procesorami/IDE itd.

Wierzę, że mógłbym przenieść to do C#. Mam na myśli to, że ufam sobie, że mogę to zrobić. Ale wolałbym nie, ponieważ jest to dużo pracy, że wolałbym kompilator zrobić dla mnie;)

Odpowiedz

5

To może być tak proste, jak tworzenie nowej platformy:

  • otwartych stron właściwości projektu (ALT + ENTER)
  • wybrać platformę w rozwijanym menu w prawym górnym rogu
    • jeśli platforma nie istnieje, utwórz nowy
  • odbudować
    • upewnij się sprawdzają odpowiednie artefakty kiedy zbudowany, jak już zapewne inny katalog wyjściowy.
+0

to naprawdę działa! –

+1

Platforma x64 nie istnieje, jak utworzyć nową? Mam projekt C++/MFC w VS2010. Nie mogłem znaleźć platformy x64 lub 0x86 w dowolnym miejscu w ustawieniach projektu. – zar

+0

Pakiet Visual Studio 2010 Express nie zawiera pakietu 64-bitowego SDK. Musisz [pobrać osobno i zainstalować] (http://www.microsoft.com/en-us/download/details.aspx?id=8279). Miałem za dużo problemów i mogłem przez przypadek prawidłowo zainstalować na jednym komputerze. Odtąd nie mogę powtórzyć instalacji od zera. Sprawdzę GCC (który moim zdaniem działa teraz lepiej niż kompilator Visual). – Matthieu