Re: Adding include and library directories

Marius Gerbershagen <[email protected]> Thu, 4 Apr 2024 19:57:37 +0200
Newsgroups gmane.lisp.ecl.general
Message-ID <[email protected]>
Dear Dave,

c::*ecl-include-directory* tells ECL where to find ECL's own header 
files. Likewise, c::*ecl-library-directory* is the location of the 
libecl.so.

For including your own header files, please use c:*user-cc-flags*, for 
example as

(setf c:*user-cc-flags* "-DWXUSINGDLL -IC:/Dave/wx/include 
-IC:/Dave/wx/include/msvc")

Additional linker flags and additional libraries to link in can be 
specified in c:*user-linker-flags* and c:*user-linker-libs* 
respectively, e.g.

(setf c:*user-linker-flags* "-LC:/Dave/wx/lib/vc_x64_dll"
       c:*user-linker-libs* "-lsome_shared_library")

Note that if you are running an ECL release older than 23.9.9, both 
types of linker flags belong in c:*user-ld-flags*, although that 
variable is now deprecated because it can lead to linker flags being put 
in the wrong position in the linker command line.

Best regards,

Marius Gerbershagen

Am 02.04.24 um 19:12 schrieb [email protected]:
> I am trying to add directories for #include directives and for linking
> libraries. The below text is my make.lisp file for building my code:
> 
> (require 'cmp)
> (setf c:*user-cc-flags* "-DWXUSINGDLL")
> (setf c::*ecl-include-directory*
> "C:/Dave/wx/include,C:/Dave/wx/include/msvc")
> (setf c::*ecl-library-directory* "C:/Dave/wx/lib/vc_x64_dll")
> (compile-file "wx.lisp" :system-p t)
> (c:build-fasl "wx"
> 	      :lisp-files '("wx.obj"))
> 
> Although
> 
> (setf c:*user-cc-flags* "-DWXUSINGDLL")
> 
> Is working as evidenced by the argument list to run-program, there is no
> evidence that the include or library directories are being used at all.
> Moreover, the #include directive in the wx.lisp code cannot find the
> specified header file.
> 
> How are c::*ecl-include-directory* and c::*ecl-library-directory* intended
> to be used?
> 
> 	Dave
> 
> 
> 
>