Adriaan van Os wrote:
Frank Heckenbach wrote:
Not sure about the circumstances, but generally: Don't put paths in the source. I.e., use `{$L Carbon}' if that's the name of the library (i.e., `libCarbon.a' or so, depending on your system's naming convention which I don't know), and use options such as `-L /System/Library/Frameworks/Carbon.framework/Versions/A'.
Interestingly, $L doesn't recognize /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon, although it is a Mach-O file and a dynamic library.
As I wrote, paths in directives may or may not work, and are not recommended. (I'm wondering if I shouldn't prohibit them at all.)
Besides (hopefully) avoiding this problem, it will help others compile this file who may have set up their directories differently.
On Mac OS X, using the "frameworks" convention avoids the directory setup problem (as the dynamic libraries included with "frameworks" are in a fixed and known places for each version of the OS on all installations).
There's a difference between conventions and requirements. Most systems have directory conventions, but putting paths in the source files (where they can't be changed without changing the sources) turns them into requirements. There may be reasons to use different directories sometimes (e.g., installing things privately, or testing a different version). Using `-L' paths etc. avoids unnecessary problems then.
Frank