multithreading - boost :: Tråd uden bibliotek vinduer

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg vil gerne undgå at opbygge et helt bibliotek for blot boost::Thread. Så jeg tilføjede cpp-filerne i libs/Thread til mit projekt, og det fungerede under GCC på MacOS.


Men Visual Studio on Windows fortæller mig



  LINK: fatale fejl LNK1104: kan ikke åbne filen 'libboost\_thread-vc100-mt-s-1\_47.lib'



Dette synes ikke rigtigt for mig siden AFAIK Jeg tilføjede ikke et bibliotekskrav til mit projekt. Hvorfor vil det have mig til at tilføje det, og hvordan gør boost det uden at ændre mine projektindstillinger?


Eller har jeg forvekslet mig


Enhver ide?

Bedste reference


Tilføjelse af BOOST\_ALL\_NO\_LIB til dine præprocessor definitioner vil holde boost pakker fra 'auto-linking' på Windows.

Andre referencer 1


Boost bruger #pragma comment(lib, library\_name) for at fortælle kompilatoren at forbinde med bestemte biblioteker. Hvis du ikke vil bruge koden i et bibliotek med det navn, skal du sandsynligvis finde #pragma og slette (eller ændre) det. Alternativt kan du bruge indstillingen nodefaultlib med linkeren.


En anden måde ville være at bruge bcp for at udtrække den del af Boost du vil have, og derefter bygge og bruge de biblioteker, den opretter.