Mail Archives: djgpp/1998/12/01/12:00:50
"Bengt AT Playboj DOT com" wrote:
>
> c:/djgpp/bin/ld.exe: cannot open -lc_app: No such file or directory (ENOENT)
> the specs code you typed, is that a fix for this? If so where in the specs
> file should I put it, (and what happends to the specs file in
> djggp\lib\gcc-lib\2.81? shall I replace it?, right now it uses the
> rsxnt\lib\specs file...?
I didn't use the suggested fix, since I prefer to just use the single
thread
library, but the idea is the same.
-------------------------- rsxnt\lib\specs
--------------------------------
.....
*link:
%{Zwin32: -Lc:/rsxntdj/lib/all -Lc:/rsxntdj/lib/st}
.....
If you look at /rsxntdj/lib/ you'll see three subdirectories, /All, /Mt,
and /St.
The single thread (St) and multithread (Mt), contain several libraries,
including the libc_app.a the linker can't find. By adding the above line
to the specs file in the /rsxntdj/lib/, the linker will look in the
single threaded, /St, and use those libraries. The other fix would let
you select Mt or St with a command line option.
For whatever reason, the specs file provided with rsxntdj will include
neither directory, and will fail on linking.
On the ld.exe question: I am using the ld.exe provided with binutils. It
seems to work fine. The ld.exe from rsxntdj will silently ignore
whatever it cannot find during linking, allowing the application to
crash the first time it tries to call the missing function. This is
extremely poor behavior, especially since the linker, as it is set up,
doesn't look too hard. libcomct.a, for instance, is not searched by
default.
- Raw text -