Build Boost + ICU unter Windows VC ++ 2010 statische Verknüpfung

10

Ich habe jetzt fast eine Woche lang versucht, unter Windows und VC ++ als STATIC-Bibliotheken unter x86-System eine zuverlässige boost + ICU-Bibliothek aufzubauen (also brauche ich keine Runtime-DLLs wenn). Ich brauche meistens Boost-Regex mit Unicode-Unterstützung und boost.locale.icu. Eine zuverlässige Lösung (nicht auf Boost-Site oder ICU) konnte dazu nicht überall im Internet gefunden werden. Erprobtes Bauen mit VC ++, Cygwin + VC ++, aber bisher kein Erfolg. Irgendwelche Hilfe von der Erfahrung? Oder, das schlechtere Szenario, jede ICU vor dem Build statisch + statische Pakete erhöhen?

Nachdem ich ICU statisch aufgebaut habe, konfiguriert unter Cygwin:

%Vor%

hat folgende statische Bibliotheken:

%Vor%

Ich habe den Boost als Statik gegen ICU-Bibliotheken aufgebaut:

%Vor%

Wenn ich einen einfachen Code ausprobiere, bekomme ich ungelöste Symbole, also stimmt etwas mit meinen kompilierten Bibliotheken nicht:

%Vor%

Ich habe nicht vergessen, das statische Flag für ICU in meinem Code hinzuzufügen:

%Vor%

UPDATE:

baute alle ICU und Boost statische auf, jetzt habe ich nur einen Fehler Link:

%Vor%     
bsteo 17.02.2014, 12:12
quelle

2 Antworten

0

Sie bauen den richtigen Weg. Das Problem ist, dass das Boost.Locale-Build-System anscheinend keinen Code zum Erkennen der statischen ICU-Bibliotheken hat und daher selbst dann, wenn Sie alle korrekten Parameter einstellen, die Bibliotheken nicht wie erwartet aufnimmt. Wenn Sie diese Dateien überprüfen:

%Vor%

Sie werden feststellen, dass anscheinend kein Code für sicuXX.XXX-Dateien vorhanden ist. Ich denke, das könnte das Problem sein.

Es gibt eine Feature-Anfrage dafür auf dem Boost-Bug-Tracker: Ссылка

Es kann hilfreich sein, wenn mehr Leute Interesse daran zeigen, dass dies implementiert wird.

    
sigma 22.09.2014, 11:18
quelle
1

Ich darf noch nicht kommentieren, also gebe ich meinen Kommentar als Antwort (Entschuldigung für die Unannehmlichkeiten), denn ich kämpfe mit genau dem gleichen Problem. Ich habe folgende Testdatei gefunden:

%Vor%

mit diesen Codezeilen:

%Vor%

Vielleicht (zumindest unter Windows) ist ein statischer Boost mit ICU-Kompilierung nicht möglich?

    
Rainer 15.03.2014 17:02
quelle

Tags und Links