Menu

Linker error

Anonymous
2010-11-26
2012-09-26
  • Anonymous

    Anonymous - 2010-11-26

    Trying to get the Irrlicht engine working via Dev C++, but keep having linking
    trouble. I continually get this message:

    undefined reference to `_imp__createDevice'

    So... Help?

     
  • Steve A

    Steve A - 2010-11-27

    Did you search this forum's archives first, before you posted ?
    If so, you didn't indicate it.

    I entered: Irrlicht
    into the Search Box and came up with 31 prior postings on the subject:

    https://sourceforge.net/search/?group_id=10639&type_of_search=forums&group_fo
    rum_id=48211&words=Irrlicht&search=Search

    I'm not familiar with lrrlicht, so sorry, I can't give you any first hand info
    on the subject.
    But, it looks like other people have in the past, so I'd check out the forum
    archives.

    Sincerely

     
  • Anonymous

    Anonymous - 2010-11-27

    Thanks. This isn't an Irrlicht problem, as it seems bound to Dev C++.
    Obviously the problem is linking, so I must be doing something wrong there. I
    hate to ask this, but how do you link in this program?

     
  • Edmund Tudor

    Edmund Tudor - 2010-11-27

    how do you link in this program?

    Look under Project Optons (ctrl-p), on the Parameters tab there's a place to
    add libraries to link.

     
  • Steve A

    Steve A - 2010-11-29

    As black_adder has indicated, make sure you have added those "lib" files
    to the link list.

    An "undefined" type error generally indicates that something can not be found.

    If you have already done that, then more information is needed, (from you).
    1) Like the full path where you have DevCpp installed,
    2) and your full project path,
    3) where your "lib" files are located.

    Unfortunately, linking seems to be one of the biggest problems with Dev-C++. I
    don't know why that is.
    It's as if Dev isn't passing the full list of parameters to the linker during
    the link stage (or something).
    Clearly, it appears that Dev is broken.

    I commented on this in my prior post, (in the bottom half of comment #2):
    https://sourceforge.net/projects/dev-
    cpp/forums/forum/48211/topic/3931134

    Here is a snip from that post:

    However...,

    I have found that linking library files only seems to work if I spell
    out the full path to the library file, even tho' it is in the /lib/ directory.

    e.g: here is a snip from the makefile:

    <snip>
    LIBS = -L"C:/Programming/Dev-Cpp/lib" ../../Dev-Cpp/lib/tcconio.a ../../Dev-
    Cpp/lib/libdyncall_s.a ../../Dev-Cpp/lib/libdynload_s.a ../../Dev-
    Cpp/lib/libcoldname.a
    INCS = -I"C:/Programming/Dev-Cpp/include"
    CXXINCS = -I"lib/gcc/mingw32/3.4.2/include" -I"include/c++/3.4.2/backward"
    -I"include/c++/3.4.2/mingw32" -I"include/c++/3.4.2" -I"include"
    </snip>

    Only linking with the above method works.
    And yes, I have read much of the "Read Before Posting" stuff.

    Adding library names, as has been illustrated, does not seem to work right.
    e.g.: lib/tcconio.a lib/libdyncall_s.a lib/libdynload_s.a lib/libcoldname.a

    The above generates "not found" errors, as seen here:

    <snip>
    Compiler: Default compiler
    Building Makefile: "C:\Programming\BxbTutor\Bxbasic\Makefile.win"
    Executing make clean
    rm -f Dev/bxbasic.o Dev/Bxbasic.exe
    gcc.exe -c bxbasic.c -o Dev/bxbasic.o -I"include" -I"C:/Programming/Dev-
    Cpp/include"
    gcc.exe Dev/bxbasic.o -o "Dev\Bxbasic.exe" -L"C:/Programming/Dev-Cpp/lib"
    lib/tcconio.a lib/libdyncall_s.a lib/libdynload_s.a lib/libcoldname.a
    gcc.exe: lib/tcconio.a: No such file or directory
    gcc.exe: lib/libdyncall_s.a: No such file or directory
    gcc.exe: lib/libdynload_s.a: No such file or directory
    gcc.exe: lib/libcoldname.a: No such file or directory
    make.exe: *** Error 1
    Execution terminated
    <snip>

    Here is what the makefile looks like:

    <snip>
    LIBS = -L"C:/Programming/Dev-Cpp/lib" lib/tcconio.a lib/libdyncall_s.a
    lib/libdynload_s.a lib/libcoldname.a
    INCS = -I"C:/Programming/Dev-Cpp/include"
    CXXINCS = -I"lib/gcc/mingw32/3.4.2/include" -I"include/c++/3.4.2/backward"
    -I"include/c++/3.4.2/mingw32" -I"include/c++/3.4.2" -I"include"
    </snip>

    Just for clarity, all four libraries do reside in the "/lib/" directory.

    The error message you are getting isn't the same as mine, (a common error
    message with Dev..., it seems), but, it could still be related to the "lib"
    path problem.

    Examine your make file after a complete "Rebuild All".

    Steve

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.