简体   繁体   中英

libstdc++.so.6: error adding symbols: DSO missing from command line

I have started learning C++ on Ubuntu. I am only a few months into using Linux as well.

I am attempting to port over a 2D Ball Collision Script from Javascript to C++ for learning purposes.

I am using simple2D for the drawing in C++: https://github.com/simple2d/simple2d

I go to run this command:

simple2d build c-code-test.cpp

I receive this response:

cc1plus: warning: command line option ‘-std=c11’ is valid for C/ObjC but not for C++

/usr/bin/ld: /tmp/ccl07DBG.o: undefined reference to symbol '_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4'

//usr/lib/x86_64-linux-gnu/libstdc++.so.6: error adding symbols: DSO missing from command line

collect2: error: ld returned 1 exit status

Due to how fresh I am with Linux and C++ I am unable to make the correct inferences to solve this based on previous questions on stack overflow. I have installed libstdc++6 so I would have though it would be linked correctly.

Can someone walk me through in steps 1, 2, 3 ... Please? Thank you kindly!

The errors you see look to be from trying to compile C++ as C. The command line option is selecting the C11 standard, which is for C, not C++. The missing symbol is because the C++ library isn't being linked in, which also happens when linking a program as C.

I haven't used simple2d, but my guess here is that the compile script they wrote does not support C++ or there is some option you need to use C++. If we look at docs:

The simple2d build command is a helpful shortcut for compiling a single source file. Of course, you can also use a compiler directly, for example on Unix-like systems:

cc triangle.c `simple2d --libs` -o triangle

Why don't you try something like their example that invokes the compiler directly. But you would need to use g++ instead of cc . Something like: g++ c-code-test.cpp `simple2d --libs` -o c-code-test

This is a bug with the simple2d script .

They're basically using the wrong build command for C++.

You could work around it by patching in the fix I've linked to, or using the manual build step shown by TrentP.

Or wait for the next version after v1.1.0.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM