.NET Framework - undefined references to std::basic_string with PK4.0 interop
Asked By Thorsten Schoeler
14-Jan-10 04:21 AM
Dear all,
we are currently porting a native ANSI C library to NETMF PK4.0.
Access to the library is achieved via a NETMF interop. The interop
code is C++ and uses the C++ string class.
We are able to build and use the interop and native libary in our
NETMF PK emulator project. When we try to build the project for the
target AUG board (ARM architecture) we get several linking errors
like:
Command:
bi-ld.exe"
???
undefined reference to `std::basic_string<char,
std::char_traits<char>, std::allocator<char>
???
It seems to me that either the ARM build process does not include the
string library or the build process uses the wrong linker
(ld).
Can anyone help? Thank you in advance.
SetEnv
(1)
Allocator
(1)
Emulator
(1)
Linker
(1)
Libary
(1)
NETMF
(1)
Jajag
(1)
Hckoy
(1)
Lorenzo Tessiore replied to Thorsten Schoeler
Hello Thorsten,
it looks like you are missing the STL library for strings. We do not use
that, so it must have folded in with so other addition. Or maybe tehe
version of GCC you are using requires it.
You might want to try and add it exploiting the following construct
in the target file
tools\Targets\Microsoft.Spot.system.gcc.targets
Let us know how it works
Lorenzo
Ant replied to Thorsten Schoeler
Dear Thorsten,
if you posted in the command you showed us directly from the build output -
that is - if there really are double quotes in the path - then please check
your SetEnv script and remove the quotes! For your long path use
..\progra~1\raison~1\... so that there is no need for quotes any more.
Best regards, AUG Team
replied to Thorsten Schoeler
hej p?? ha hckoy in jajag ha bra nu ha sa bra ni nu ha
l??st ni ja ha vi ja ni ja kan ja ha p?? ja
kan ja ha ni kan ja bin om kan ja ha ni ja ha bra ja ni ja ha
jan ha vi ja 20-23-24 m??l kan ja om ja ja l??st in ja /fanny

and the choosen (not by me!) processor being incompatible and "cannot be run on the emulator device". When I than try to run the app (F5) I get the same error-message but nonetheless the "standard SDK" emulator starts. Alas, only to show an (pretty-much) empty screen. I did try to find spend about an hour and a half googleing for those words in conjunction with "evc4", "emulator images" and a few other but did not find anything worth to mention. Checking most the target device you actually want. For example, there are perhaps half a dozen different emulator configurations in the WM6 SDK, as well as the target for an actual WM6 device was "deemed incompatible". Are you sure you built for the actual device, rather than the emulator? Are you sure the message said incompatible, rather than not certified? (Hmm, my tone seems on the phone. Last week I tried to build the app in all four modi : emulator / ARMV4 and debug / release, and none worked. After presing F7 and getting a compiler-warining stop running programs fast ? As a last (for this time) question : what are the "wce emulator" debug / release options supposed to do ? Currently they are not really usefull. Could I un you have, that you have to target the right device type. You cannot target the emulator and expect the same EXE to run on the real device. You need to select
Communicate MF device and client in emulator .NET Framework Hello, I have a service running on a Micro Framework device (MF 3.0) and a Micro Framework DPWS client in the MF emulator. The MF Device and the PC are connected via Ethernet and I can see the Microframework Discussions Windows Vista (1) Vista (1) Otherwise (1) Result (1) ProbeMatches (1) Discovers (1) Emulator (1) Firewall (1) Hello ne, Did you make sure that your PC's firewall has port 3702 unblocked. - - Thanks, Zach The firewall is off, but the DPWS client on MF emulator doesn??t discover the MF device. However, If I execute a WSDAPI client on Vista network environment or on the same subnet? Are you able to see if the device / emulator is getting any UDP messages? - - Thanks, Zach The OS on my computer is Windows Vista can see some soap messages in the debug output when I execute the service on emulator, but there aren??t messages when I execute the client on emulator. I have done different experiments with two computers (both with Vista) in the same subnet 1.- I execute the MF service on the emulator in one PC and the MF client on the emulator in my PC. The computers
familliar with the .NET MicroFramework 4.0. At the moment I have to use the emulator to make my first steps. I am trying to setup a serial port connection between a simple serialport app and a standard emulator just for this purpose. But always when I try to .open() the serial port how MF4.0, I always get an ArgumentException regardless which COM port have been specified (in emulator.config and code). Can someone give me a hint what is wrong here? Thanks in An unhandled exception of type 'System.ArgumentException' occurred in Microsoft.SPOT.Hardware.SerialPort.dll The emulator.config contains this: The serial connection code in the app: Byte[] buffer = new Byte[1024 new String(Encoding.UTF8.GetChars(buffer), 0, bytesread)); comPort.Close(); .NET Microframework Discussions Microsoft.SPOT.Emulator.Com.ComPortToMemoryStream (1) Microsoft.SPOT.Emulator.Sample.PhysicalSerialPort (1) Microsoft.SPOT.Emulator.Sample.SampleEmulator (1) Microsoft.SPOT.Hardware.SerialPort (1) Encoding.UTF8.GetChars (1) System.IO.Ports ArgumentException (1) Hello Johannes, If you want to test a serial port connection to the emulator, the best thing to do is use the physical serial port (assuming you have two
Communicate web service on emulator with client on Vista .NET Framework Hello, I have implemented a web service using DPWS on MF and a client for vista using WSDAPI. I execute the service on the emulator and the client on Windows Vista in the same computer, but they do not see each other. If I execute both, a service and client on emulator, or both on vista, it works properly. But not if I execute one on Vista and the other on emulator. If I execute the service implemented using WSDAPI on Win Vista, I can see that device on network. However the MF device executed on emulator is not visible on the network. How can I make the emulator and computer to communicate each other? Thanks. .NET Microframework Discussions Windows Vista (1) IOException (1 Vista (1) Emulator (1) Metadata (1) Firewall (1) WSDAPI (1) DPWS (1) Hello aZubi, can you try turning it possible to try this on a real device, or at two connected computers Vista-emulator? It would be possible to capture the traffic and perhaps discover the issue. Jan Hello
CF application unit tests on a PC or a VS Team System Server without an emulator? I would like to leverage the code coverage capabilities of recent versions of VS Team using full .NET Framework. The advantages are that you do not need a device or emulator and the tests run really fast. The downside is that if some of your tests fair amount of device testing and I actually have the TFS server spin up the emulator (I have written an emulator library that the targets file can launch before running tests) and actually run against it taking the time to answer my question. I have a follow up question on your emulator library. What do you do in the emulator library to start up the emulator? Do you connect out to the real hardware to run your tests? I can see a PC, for specific classes, as both you and drozd had mentioned. Sincerely Arya The Emulator has an automation interface, so I created a library that can be called directly from