2009-12-09 3 views
6

Ist es möglich, GNU gettext mit MS Visual C++ zu verwenden? Weiß jemand, wo ein Beispielprojekt zu finden ist, das unter Visual C++ kompiliert?Wie benutzt man GNU gettext mit MS Visual C++?

Update: Dank Sorin Sbarnea für seine Bemerkungen, die mir helfen, zusammen alle Stücke zu setzen:

Ich bin zum Delphi version of gettext verwendet, wo man einfach die Einheit gnugettext.pas mit Ihrem Projekt kompilieren Deshalb habe ich einfach versucht, gettext.h mit meinem MSVC-Projekt zu kompilieren. Es funktioniert möglicherweise für andere C++ - Compiler, aber nicht für MSVC.

Die FAQ of GNU gettext erläutert, wie Sie es mit MSVC mithilfe vorkompilierter DLLs ausführen. Aber es gibt keine Links zu den DLLs und diese DLLs sind nicht im Hauptdownload. Sie müssen separat von der ftp site heruntergeladen werden. Sie werden 2-Dateien für den DLLs benötigen:

Und wenn Sie Werkzeuge benötigen, um die Zeichenfolge aus der exe zu extrahieren, müssen Sie auch:

Ich habe es noch nicht mit MSVC versucht, aber jetzt denke ich, dass es funktioniert.

Antwort

5

Offensichtlich kenne ich viele Projekte, die Gettext in MSVC verwenden. Wenn Sie darüber nachdenken, GNU gettext runtime in einem kommerziellen Closed-Source-Projekt zu verwenden, beachten Sie, dass es sich bei der Laufzeitbibliothek um LGPL handelt. Dies bedeutet hauptsächlich, dass Sie alle Änderungen an der Gettext-Laufzeitbibliothek (nicht an Ihrem Code) öffnen müssen.

Auch Gettext-Dienstprogramme verwenden GPL-Lizenz - aber das ist nicht so wichtig, weil Sie sie nicht verteilen müssen/möchten.

Für Win32 sollten Sie die Gettext-Laufzeit von Gnome FTP bekommen, weil der Build neuer als der von GNU ist.

In Bezug auf Open-Source-Software werfen Sie einen Blick auf PoEdit.

+0

Danke für Ihre Antwort. Aber soweit ich nicht sehen kann, ist Pigwin mit minGW und nicht mit MSVC aufgebaut: http://developer.pidgin.im/wiki/BuildingWinPidgin Kennen Sie ein anderes Projekt, das mit MSVC erstellt wurde und gnugettext verwendet? – Name

+1

Ich verbinde mit Gettext-Laufzeit (als DLL), aber ich kompiliere die Bibliothek nicht selbst. Mein Projekt ist kommerziell und das kann Ihnen nicht helfen, aber ich denke, dass http://www.poedit.net mit MSVC kompiliert werden kann. – sorin

+0

OK, ich hatte nicht bemerkt, dass es ein Gettext-Runtime-Paket gibt (was auf der GNU-Website nicht so einfach zu finden ist, da es im Download-Bereich keine Verknüpfung gibt. Es ist nur hier: ftp: //ftp.gnu.org/gnu/gettext/) und ich war an die Delphi-Version von gnugettext (http://dxgettext.po.dk/) gewöhnt, wo Sie einfach eine einzige Komplementärdatei mit Ihrem Projekt kompilieren. – Name