[PATCH] undefined symbols compiling for macosx >10.8

Ken Thomases ken at codeweavers.com
Wed Apr 1 10:34:02 CDT 2015


Hi,

This patch makes no sense.  Wine builds just fine for OS X versions greater than 10.8.  Indeed, as near as I know, it still builds just fine for 10.5 and up (the Mac driver requires 10.6 or later, but on 10.5 it just will be skipped; it won't break anything).

On Apr 1, 2015, at 6:48 AM, Sergey Isakov <isakov-sl at bk.ru> wrote:

> Undefined symbols for architecture i386:
>  "_kCGDisplayShowDuplicateLowResolutionModes", referenced from:
>      -[WineApplicationController modeMatchingMode:forDisplay:] in cocoa_app.o
> ld: symbol(s) not found for architecture i386

If you're getting this error, you're not building against a 10.8+ SDK properly.  The compiler is seeing the headers for a 10.8+ SDK but the linker is seeing libraries and frameworks from some pre-10.8 SDK.


> Instead of checking for NULL we should check  #ifdef

No.  The things being tested are not macros in any version of the SDK.  Your #ifdef checks will never pass.  You have effectively done "#if 0".

Finally, changes to separate DLLs (secur32 and winemac.drv, in this case) should be in separate patches unless they are inter-dependent.

-Ken




More information about the wine-devel mailing list