liballeg / allegro5

The official Allegro 5 git repository. Pull requests welcome!
https://liballeg.org
Other
1.84k stars 281 forks source link

Allegro NuGet package prevents other packages from working #881

Open fatcerberus opened 6 years ago

fatcerberus commented 6 years ago

Allegro's NuGet package seems to mess with search paths in a way that prevents other NuGet packages' binaries from being found.

To reproduce:

  1. Create a new Windows application project in VS (VS 2017 in my case)
  2. Install the Allegro NuGet package
  3. Install another C++ NuGet package, e.g. ChakraCore
  4. Include headers from both packages to ensure they get linked in

In the case above, the Allegro binaries and includes will be found successfully, but not the ChakraCore ones. This prevents me from using the Allegro NuGet package with any other package, for instance see https://github.com/pmed/v8-nuget/issues/3 which turned out to be the same root cause.

SiegeLord commented 6 years ago

I tried libxml2 (https://www.nuget.org/packages/libxml2/), SDL (https://www.nuget.org/packages/SDL/) and v8 (https://www.nuget.org/packages/v8-v141-x64/). For all it could still find their headers, and I also could link v8's library (v8.dll.lib). I examined the Nuget packages of the first two, and they did something similar to what Allegro does when setting the include paths.

fatcerberus commented 6 years ago

Hmm, must be something screwy with my solution file or something. If you try the same with miniSphere it doesn't work. The Allegro stuff continues to be found but I can't use it with any other package.