Error opening ports in C++ to Arduino in Ubuntu - c++

I am programming in ARduino and I am try to connect Arduino with C++. I have the folowing function:
//Prueba.cpp
#include <iostream>
#include <SerialStream.h>
#include "/usr/local/lib/libserial.so.0.0.0"
using namespace std;
using namespace LibSerial;
int main() {
SerialStream my_serial_stream;
my_serial_stream.Open("/dev/ttyACM0");
my_serial_stream.SetBaudRate(SerialStreamBuf::BAUD_9600);
my_serial_stream << "a0" << endl;
return 0;
}
But when I exeute it, give me a lot of error with like this.
usr/local/lib/libserial.so.0.0.0:99:1: error: ‘\377’ parásito en el programa
/usr/local/lib/libserial.so.0.0.0:99:1: error: ‘\17’ parásito en el programa
/usr/local/lib/libserial.so.0.0.0:99:1: error: ‘\37’ parásito en el programa
/usr/local/lib/libserial.so.0.0.0:99:1: error: ‘\200’ parásito en el programa
In file included from Prueba.cpp:11:0:
/usr/local/lib/libserial.so.0.0.0:99:914: aviso: caracter(es) nulo(s) ignorados [activado por defecto]
In file included from Prueba.cpp:11:0:
/usr/local/lib/libserial.so.0.0.0:99:1: error: ‘\205’ parásito en el programa
/usr/local/lib/libserial.so.0.0.0:99:1: error: ‘\355’ parásito en el programa
/usr/local/lib/libserial.so.0.0.0:99:1: error: ‘\17’ parásito en el programa
/usr/local/lib/libserial.so.0.0.0:99:1: error: ‘\204’ parásito en el programa
/usr/local/lib/libserial.so.0.0.0:99:1: error: ‘\351’ parásito en el programa
/usr/local/lib/libserial.so.0.0.0:99:1: error: ‘\376’ parásito en el programa
/usr/local/lib/libserial.so.0.0.0:99:1: error: ‘\377’ parásito en el programa
/usr/local/lib/libserial.so.0.0.0:99:1: error: ‘\377’ parásito en el programa
/usr/local/lib/libserial.so.0.0.0:99:1: error: ‘\277’ parásito en el programa
/usr/local/lib/libserial.so.0.0.0:99:1: error: ‘\20’ parásito en el programa
Anyone know hay this happend? I installed libserial with sudo apt-get install libserdial-dev but nothing.

I suppose that this might help you in general: this

Related

i have an error for create a cmakelist with irrlicht [duplicate]

This question already has answers here:
How to add "-l" (ell) compiler flag in CMake
(2 answers)
Closed 3 years ago.
I create a cmakelist.txt for a project graphique. I use the library irrlicht. I have a probleme after i had "cmake .", i do make i have error
cmakelist.txt
cmake_minimum_required(VERSION 3.11)
PROJECT(toto)
INCLUDE_DIRECTORIES(
"/usr/include/irrlicht"
${PROJECT_SOURCE_DIR}/include
)
SET(GCC_COVERAGE_COMPILE_FLAGS "-lIrrlicht -lGL -lGLU -lXxf86vm-lX11")
#SET(GCC_COVERAGE_COMPILE_FLAGS "-lIrrlicht -lGL -lGLU -lXrandr -lXi -lXxf86vm -lGLEW")
SET(GCC_COVERAGE_COMPILE_INCLUDE "-std=c++11 -I ./include")
find_package(glfw3 3.1 REQUIRED)
find_package(OpenGL REQUIRED)
find_package(X11)
add_definitions(${GCC_COVERAGE_COMPILE_FLAGS})
add_definitions(${GCC_COVERAGE_COMPILE_INCLUDE})
if (OPENGL_FOUND)
message("opengl found")
message("include dir: ${OPENGL_INCLUDE_DIR}")
message("link libraries: ${OPENGL_gl_LIBRARY}")
else (OPENGL_FOUND)
message("opengl not found")
endif()
FILE(GLOB SRCS src/*.cpp)
FILE(GLOB HDRS include/*.hpp)
ADD_EXECUTABLE(toto
${SRCS}
${HDRS}
)
TARGET_LINK_LIBRARIES(toto
"/usr/lib/libIrrlicht.a"
)
include_directories(${OPENGL_INCLUDE_DIR})
target_include_directories(toto PUBLIC ${OPENGL_INCLUDE_DIR})
target_link_libraries(toto ${OPENGL_gl_LIBRARY} glfw)
target_link_libraries(toto ${OPENGL_glu_LIBRARY})
main.cpp
#include "my.hpp"
int main(int ac, char **av)
{
/* code */
printf("toto\n");
IrrlichtDevice *device =
createDevice( video::EDT_SOFTWARE, dimension2d<u32>(640, 480), 16,
false, false, false, 0);
if (!device)
return 1;
device->setWindowCaption(L"Hello World! - Irrlicht Engine Demo");
IVideoDriver* driver = device->getVideoDriver();
ISceneManager* smgr = device->getSceneManager();
IGUIEnvironment* guienv = device->getGUIEnvironment();
guienv->addStaticText(L"Hello World! This is the Irrlicht Software renderer!",
rect<s32>(10,10,260,22), true);
IAnimatedMesh* mesh = smgr->getMesh("../../media/sydney.md2");
if (!mesh)
{
device->drop();
return 1;
}
IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh );
if (node)
{
node->setMaterialFlag(EMF_LIGHTING, false);
node->setMD2Animation(scene::EMAT_STAND);
node->setMaterialTexture( 0, driver->getTexture("../../media/sydney.bmp") );
}
smgr->addCameraSceneNode(0, vector3df(0,30,-40), vector3df(0,5,0));
while(device->run())
{
driver->beginScene(true, true, SColor(255,100,101,140));
smgr->drawAll();
guienv->drawAll();
driver->endScene();
}
device->drop();
return (0);
}
my.hpp
#ifndef IRRLICHT
#define IRRLICHT
#include <stdio.h>
#include <iostream>
#include <irr/irrlicht.h>
#include <cstdlib>
using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;
#ifdef _IRR_WINDOWS_
#pragma comment(lib, "Irrlicht.lib")
#pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup")
#endif
#endif
I would like to have an executable but have have this error
[ 50%] Building CXX object CMakeFiles/toto.dir/src/main.cpp.o
[100%] Linking CXX executable toto
/usr/bin/ld: /usr/lib/libIrrlicht.a(CIrrDeviceLinux.o): référence au symbole non défini « XConvertSelection »
//usr/lib/x86_64-linux-gnu/libX11.so.6: error adding symbols: DSO manquant dans la ligne de commande
collect2: error: ld returned 1 exit status
CMakeFiles/toto.dir/build.make:86 : la recette pour la cible « toto » a échouée
make[2]: *** [toto] Erreur 1
CMakeFiles/Makefile2:67 : la recette pour la cible « CMakeFiles/toto.dir/all » a échouée
make[1]: *** [CMakeFiles/toto.dir/all] Erreur 2
Makefile:83 : la recette pour la cible « all » a échouée
make: *** [all] Erreur 2
Your compiler says that you are missing a symbol XConvertSelection. I believe the compiler already gave you an answer:
/usr/lib/x86_64-linux-gnu/libX11.so.6: error adding symbols: DSO manquant dans la ligne de commande
Searching for the error message, a very similar question has already been asked. Adding X11 to your list of libraries in CMakeLists.txt should fix your issue:
target_link_libraries(toto ${X11_LIBRARIES})

c++ unresolved identifier future

I was learning how to multithread in c++ and I run into this problem. I've searched the internet and didn't found a satisfactory answer.
I'm pretty sure the library's directory is included.
This are my system specifications:
Oracle Virtual box 5.2.12
Debian 9
Netbeans 8.2
gcc and g++ 6.3.0
This are the errors
Cannot find include file "/usr/include/c++/6".
unable to resolve identifier future.
unable to resolve identifier get.
This is my tutorials code:
// async example
#include <iostream> // std::cout
#include <future> // std::async, std::future
// a non-optimized way of checking for prime numbers:
bool is_prime (int x) {
std::cout << "Calculating. Please, wait...\n";
for (int i=2; i<x; ++i) if (x%i==0) return false;
return true;
}
int main ()
{
// call is_prime(313222313) asynchronously:
std::future<bool> fut = std::async (is_prime,313222313);
std::cout << "Checking whether 313222313 is prime.\n";
// ...
bool ret = fut.get(); // waits for is_prime to return
if (ret) std::cout << "It is prime!\n";
else std::cout << "It is not prime.\n";
return 0;
}
And this is the building output:
cd '/home/sulheru/NetBeansProjects/20180907/asyncTutorial'
/usr/bin/make -f Makefile CONF=Debug
"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: se entra en el directorio '/home/sulheru/NetBeansProjects/20180907/asyncTutorial'
"/usr/bin/make" -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux/asynctutorial
make[2]: se entra en el directorio '/home/sulheru/NetBeansProjects/20180907/asyncTutorial'
mkdir -p build/Debug/GNU-Linux
rm -f "build/Debug/GNU-Linux/main.o.d"
g++ -c -g -include /usr/include/c++/6.3.0 -MMD -MP -MF "build/Debug/GNU-Linux/main.o.d" -o build/Debug/GNU-Linux/main.o main.cpp
cc1plus: fatal error: /usr/include/c++/6.3.0: No existe el fichero o el directorio
compilation terminated.
nbproject/Makefile-Debug.mk:66: fallo en las instrucciones para el objetivo 'build/Debug/GNU-Linux/main.o'
make[2]: *** [build/Debug/GNU-Linux/main.o] Error 1
make[2]: se sale del directorio '/home/sulheru/NetBeansProjects/20180907/asyncTutorial'
nbproject/Makefile-Debug.mk:59: fallo en las instrucciones para el objetivo '.build-conf'
make[1]: *** [.build-conf] Error 2
make[1]: se sale del directorio '/home/sulheru/NetBeansProjects/20180907/asyncTutorial'
nbproject/Makefile-impl.mk:39: fallo en las instrucciones para el objetivo '.build-impl'
make: *** [.build-impl] Error 2
BUILD FAILED (exit value 2, total time: 323ms)
You need the -pthread option in your compiler flags.
Example:
➜ g++ -std=c++11 -pthread async.cpp
➜ ./a.out
Checking whether 313222313 is prime.
Calculating. Please, wait...
It is prime!

Compilation error due to table in C++

I'm trying to create a chat programm for the TI-Nspire Calc via the serial port. So I installed the ndless SDK and nspireio lib to make the communication and it kind of works because there is an infite repetition of the message so I wrote this:
if(uart_ready()) {
char input[100] = {0};
uart_getsn(input,100);
if(oldinput != input) {
nio_puts(input);
oldinput = input;
}
}
But when I compile it give me this error:
root#Kali-Linux:~/TINSPIRE/Ndless/ndless-sdk/samples/uart# make
nspire-g++ -Wall -W -marm -Os -c hello.cpp
hello.cpp: Dans la fonction « int main() »:
hello.cpp:61:14: error: affectation de tableau invalide
oldinput = input;
^~~~~
Makefile:33 : la recette pour la cible « hello.o » a échouée
make: *** [hello.o] Erreur 1
What I'm doing wrong?
If oldinput is also a char array,
replace oldinput=input with
strcpy(oldinput,input);
You should declare oldinput:
char oldinput[100] = {0};
memcpy(oldinput, input, sizeof(char) * 100);

opencv 3.0 visual studio community 2017 compilation LINK errors

I installed opencv 3.0 in my windows10 64 bit. I created a C++ project in visual studio community 2017 and did all these steps provided in opencv documentation (local method in this link which are:
1- creation of environment variable:
OPENCV_DIR C:\Program Files\opencv\build\x86\vc11
With I added in user and system Path as follow
%OPENCV_DIR%\bin
2- In my project I added in Properties -> C/C++ -> additional include repositories:
C:\Program Files\opencv\build\include
3- Properties -> Link -> General:
$(OPENCV_DIR)\lib
$(OPENCV_DIR)\staticlib
I included staticlib because at first the compiler didn't find opencv_core300d.lib while this one exists in staticlib, so I added it.
checked YES for use library dependency entries
4- Properties -> Link -> Entry:
opencv_core300d.lib
opencv_highgui300d.lib
opencv_imgproc300d.lib
opencv_ml300d.lib
opencv_ts300d.lib
with Herited values:
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
I got more 800 errors all related to mismatch between values in .obj files related to opencv_core300d.lib:
1>Source.cpp
1>opencv_core300d.lib(alloc.obj) : error LNK2038: discordance détectée pour '_MSC_VER' : la valeur '1700' ne correspond pas à la valeur '1900' in Source.obj
1>opencv_core300d.lib(alloc.obj) : error LNK2038: discordance détectée pour 'RuntimeLibrary' : la valeur 'MTd_StaticDebug' ne correspond pas à la valeur 'MDd_DynamicDebug' in Source.obj
1>opencv_core300d.lib(stl.obj) : error LNK2038: discordance détectée pour '_MSC_VER' : la valeur '1700' ne correspond pas à la valeur '1900' in Source.obj
1>opencv_core300d.lib(stl.obj) : error LNK2038: discordance détectée pour 'RuntimeLibrary' : la valeur 'MTd_StaticDebug' ne correspond pas à la valeur 'MDd_DynamicDebug' in Source.obj
1>opencv_core300d.lib(matrix.obj) : error LNK2038: discordance détectée pour '_MSC_VER' : la valeur '1700' ne correspond pas à la valeur '1900' in Source.obj
1>opencv_core300d.lib(matrix.obj) : error LNK2038: discordance détectée pour 'RuntimeLibrary' : la valeur 'MTd_StaticDebug' ne correspond pas à la valeur 'MDd_DynamicDebug' in Source.obj
1>opencv_core300d.lib(opencv_core_pch.obj) : error LNK2038: discordance détectée pour '_MSC_VER' : la valeur '1700' ne correspond pas à la valeur '1900' in Source.obj
1>opencv_core300d.lib(opencv_core_pch.obj) : error LNK2038: discordance détectée pour 'RuntimeLibrary' : la valeur 'MTd_StaticDebug' ne correspond pas à la valeur 'MDd_DynamicDebug' in Source.obj
1>opencv_core300d.lib(system.obj) : error LNK2038: discordance détectée pour '_MSC_VER' : la valeur '1700' ne correspond pas à la valeur '1900' in Source.obj
I tried to resolve the issue by checking similar answers to similar errors and according to this answer it's due to different versions of the compiler. If so, how to correct it?
Sample code used to test that opencv works:
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
if (argc != 2)
{
cout << " Usage: display_image ImageToLoadAndDisplay" << endl;
return -1;
}
Mat image;
image = imread(argv[1], IMREAD_COLOR); // Read the file
if (image.empty()) // Check for invalid input
{
cout << "Could not open or find the image" << std::endl;
return -1;
}
namedWindow("Display window", WINDOW_AUTOSIZE); // Create a window for display.
imshow("Display window", image); // Show our image inside it.
waitKey(0); // Wait for a keystroke in the window
return 0;
}
I need help!
Thank you.
These error is due to different build version of the opencv library. You can download the pre build binaries for your compiler version if available or else you need to build OpenCV from source using cmake. In your case you require binaries built for vs2017 i.e. _MSC_VER 1900.

How to select following siblings before the particular following sibling

I worked on this. but, still, i am having some problem to achieve this. Here is my input
[code]
<contenu1>
<intertitre niveau="1">1 Construire sans permis : infraction intentionnelle ou purement « matérielle » ?</intertitre>
<p>Le nouveau code pénal stipule qu’il.<br/></p>
<p>Le nouveau code pénal stipule qu’il.<br/></p>
<p>Le nouveau code pénal stipule qu’il.<br/></p>
<intertitre niveau="1">2 Quelles sont les principales infractions d’urbanisme ?</intertitre>
<p>La plupart des infractions urbanistiques sont des délits. Pour les délits les plus graves, des peines de dix ans d’emprisonnement peuvent être prononcées.<br/></p>
<p>La plupart des infractions urbanistiques sont des délits. Pour les délits les plus graves, des peines de dix ans d’emprisonnement peuvent être prononcées.<br/></p>
<p>La plupart des infractions urbanistiques sont des délits. Pour les délits les plus graves, des peines de dix ans d’emprisonnement peuvent être prononcées.<br/></p>
<p>La plupart des infractions urbanistiques sont des délits. Pour les délits les plus graves, des peines de dix ans d’emprisonnement peuvent être prononcées.<br/></p>
<intertitre niveau="1">3 Comment est établie la constatation des infractions ?</intertitre>
<p>La constatation des infractions aux règles d’urbanisme, figurant sous le livre IV du code de.<br/></p>
<intertitre niveau="1">4 Quelles mesures urgentes les autorités peuvent-elles actionner avant la saisine du juge ?</intertitre>
<p>La constatation des infractions aux règles d’urbanisme, figurant sous le livre IV du code.<br/></p>
</contenu1>
[/code]
And, My expected output is
[code]
<d1commdo>
<tit><al>1 Construire sans permis : infraction intentionnelle ou purement « matérielle » ?</al></tit>
<p>Le nouveau code pénal stipule qu’il.<br/></p>
<p>Le nouveau code pénal stipule qu’il.<br/></p>
<p>Le nouveau code pénal stipule qu’il.<br/></p></d1commdo>
<d1commdo>
<tit><al>2 Quelles sont les principales infractions d’urbanisme ?</al></tit>
<p>La plupart des infractions urbanistiques sont des délits. Pour les délits les plus graves, des peines de dix ans d’emprisonnement peuvent être prononcées.<br/></p>
<p>La plupart des infractions urbanistiques sont des délits. Pour les délits les plus graves, des peines de dix ans d’emprisonnement peuvent être prononcées.<br/></p>
<p>La plupart des infractions urbanistiques sont des délits. Pour les délits les plus graves, des peines de dix ans d’emprisonnement peuvent être prononcées.<br/></p>
<p>La plupart des infractions urbanistiques sont des délits. Pour les délits les plus graves, des peines de dix ans d’emprisonnement peuvent être prononcées.<br/></p>
</d1commdo>
<d1commdo>
<tit><al>3 Comment est établie la constatation des infractions ?</al></tit>
<p>La constatation des infractions aux règles d’urbanisme, figurant sous le livre IV du code de.<br/></p></d1commdo>
<d1commdo>
<tit><al>4 Quelles mesures urgentes les autorités peuvent-elles actionner avant la saisine du juge ?</al></tit>
<p>La constatation des infractions aux règles d’urbanisme, figurant sous le livre IV du code.<br/></p>
</d1commdo>
[/code]
Could someone please help me to achieve this on XSLT? I need the xslt piece of code.
This XSLT:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output omit-xml-declaration="no" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="#*|node()">
<xsl:copy>
<xsl:apply-templates select="#*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/*">
<t>
<xsl:apply-templates select="intertitre"/>
</t>
</xsl:template>
<xsl:template match="intertitre">
<d1commdo>
<tit>
<a1>
<xsl:apply-templates/>
</a1>
</tit>
<xsl:apply-templates select="following-sibling::p[1]"/>
</d1commdo>
</xsl:template>
</xsl:stylesheet>
...,when applied to your source XML, produces the expected output (wrapped in a top-level element to be well-formed):
<?xml version="1.0" encoding="UTF-8"?>
<t>
<d1commdo>
<tit>
<al>1 Construire sans permis : infraction intentionnelle ou purement « matérielle » ?</al>
</tit>
<p>Le nouveau code pénal stipule qu’il.<br/>
</p>
</d1commdo>
<d1commdo>
<tit>
<al>2 Quelles sont les principales infractions d’urbanisme ?</al>
</tit>
<p>La plupart des infractions urbanistiques sont des délits. Pour les délits les plus graves, des peines de dix ans d’emprisonnement peuvent être prononcées.<br/>
</p>
</d1commdo>
<d1commdo>
<tit>
<al>3 Comment est établie la constatation des infractions ?</al>
</tit>
<p>La constatation des infractions aux règles d’urbanisme, figurant sous le livre IV du code de.<br/>
</p>
</d1commdo>
<d1commdo>
<tit>
<al>4 Quelles mesures urgentes les autorités peuvent-elles actionner avant la saisine du juge ?</al>
</tit>
<p>La constatation des infractions aux règles d’urbanisme, figurant sous le livre IV du code.<br/>
</p>
</d1commdo>
</t>
ok, for your new requirements the solution is not trivial but here you have it
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output omit-xml-declaration="no" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="#*|node()">
<xsl:copy>
<xsl:apply-templates select="#*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/*">
<t>
<xsl:apply-templates select="intertitre"/>
</t>
</xsl:template>
<xsl:template match="intertitre">
<xsl:variable name="nextIntertitrePosition"
select="count(following-sibling::intertitre[1]/preceding-sibling::*)"/>
<d1commdo">
<tit>
<a1>
<xsl:apply-templates/>
</a1>
</tit>
<xsl:apply-templates select="following-sibling::p[
count(preceding-sibling::*) < $nextIntertitrePosition
or 0 = $nextIntertitrePosition]"/>
</d1commdo>
</xsl:template>
</xsl:stylesheet>
Edit: some formating done and some minor mistakes removed