Intel® C++ Compiler
Support and discussions for creating C++ code that runs on platforms based on Intel® processors.
7644 Discussions

Compilation aborted for myFile.cpp (code 2) ?

eesutton
Beginner
870 Views
I am getting started with the ICC for the first time using the 30-day eval. I *really* like all the new warnings and remarks that gcc never told me about, however, I can not figure out why compilation is aborting?


src/videostreamer.cpp(39): warning #177: variable "DebugDumpPullFrameMax" was declared but never referenced
const int DebugDumpPullFrameMax = 32;
^

compilation aborted for src/videostreamer.cpp (code 2)
make: *** [obj/videostreamer.o] Error 2


Target:

Red Hat Enterprise Linux 5.2 32-bit
ICC Version: 30-Day eval 11.1
Objective: To benchmark a Qt C++ project that decodes viceo built with gcc versus icc.
Usage: Ran icvars.sh ia32 then added /opt/intel/Compiler/11.1/073/bin/ia32 to my path.

Thanks in advance for any tips or suggestions,

-Ed

0 Kudos
7 Replies
Brandon_H_Intel
Employee
870 Views
Compilation shouldn't abort for a warning. Can you send us your full output log?

Is it possible that you can compile src/videostreamer.cpp outside the makefile at the command line and reproduce the error?

And is this from compiling the project found at http://code.google.com/p/pfcfnm/?
JenniferJ
Moderator
870 Views
did you use "-Werror" option? it means to treat all warnings aserrors.

that will make the compiler abort.


Jennifer
eesutton
Beginner
870 Views
No, I had removed it to get as far as I did.

I should double-check though. Thanks for your help.

-Ed

eesutton
Beginner
870 Views
>And is this from compiling the project found at http://code.google.com/p/pfcfnm/?

No, it is not but it appears to be an intersting project.

I still need to try to compile the single file. Where is the output log file named and found? Is this something that has to be turned on or just a capture of the command line output?

Thank you for your help,

-Ed
JenniferJ
Moderator
870 Views
usually your build script will create the log file. the icc does not save one.
Find the script that calls the icpc to see the full compilation options.

did you try to compile just "src/videostreamer.cpp" file from a shell?


Jennifer
eesutton
Beginner
870 Views
The compile command looks like:

icpc -c -wd654,1572 -m32 -O3 -march=pentium4 -march=core2 -mmmx -msse -msse2 -mfpmath=sse -fomit-frame-pointer -pthread -wd654,1572 -m32 -O3 -march=pentium4 -march=core2 -mmmx -msse -msse2 -mfpmath=sse -fomit-frame-pointer -pthread -Wall -Wextra -Wformat=2 -Wpointer-arith -Wcast-align -Wcast-qual -Wconversion -fno-common -Wunused-variable -Wunused-value -Wmissing-braces -Wmissing-field-initializers -Wmissing-format-attribute -Wmissing-include-dirs -Wparentheses -Wredundant-decls -Wreturn-type -Wsign-compare -Wstack-protector -Wunused-function -Wunused-label -Wunused-parameter -Wvolatile-register-var -O2 -Wno-non-virtual-dtor -D_REENTRANT -fPIC -DENABLE_FNAME_MODES -D__unix__ -D__GCC__ -DTIXML_USE_STL -DRELEASE -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.01/qt/mkspecs/linux-icc -I. -I/opt/qtsdk-2010.01/qt/include/QtCore -I/opt/qtsdk-2010.01/qt/include/QtNetwork -I/opt/qtsdk-2010.01/qt/include/QtGui -I/opt/qtsdk-2010.01/qt/include/QtXml -I/opt/qtsdk-2010.01/qt/include -I../include -I../common/include -I../common/externals/include -Isrc -Isrc/tinyxml -Iobj -o obj/videostreamer.o src/videostreamer.cpp

Output:

icpc: command line warning #10121: overriding '-marchpentium4' with '-marchcore2'
icpc: command line warning #10120: overriding '-marchcore2' with '-msse'
icpc: command line warning #10120: overriding '-msse' with '-msse2'
icpc: command line warning #10159: invalid argument for option '-m'
icpc: command line warning #10121: overriding '-marchpentium4' with '-marchcore2'
icpc: command line warning #10120: overriding '-marchcore2' with '-msse'
icpc: command line warning #10120: overriding '-msse' with '-msse2'
icpc: command line warning #10159: invalid argument for option '-m'
icpc: command line warning #10006: ignoring unknown option '-Wextra'
icpc: command line warning #10156: ignoring option '-Wformat'; no argument required
icpc: command line warning #10006: ignoring unknown option '-Wcast-align'
icpc: command line warning #10156: ignoring option '-Wunused'; no argument required
icpc: command line warning #10006: ignoring unknown option '-Wmissing-braces'
icpc: command line warning #10006: ignoring unknown option '-Wmissing-field-initializers'
icpc: command line warning #10006: ignoring unknown option '-Wmissing-format-attribute'
icpc: command line warning #10006: ignoring unknown option '-Wmissing-include-dirs'
icpc: command line remark #10148: option '-Wparentheses' not supported
icpc: command line warning #10006: ignoring unknown option '-Wredundant-decls'
icpc: command line warning #10006: ignoring unknown option '-Wsign-compare'
icpc: command line warning #10006: ignoring unknown option '-Wstack-protector'
icpc: command line warning #10156: ignoring option '-Wunused'; no argument required
icpc: command line warning #10156: ignoring option '-Wunused'; no argument required
icpc: command line warning #10006: ignoring unknown option '-Wvolatile-register-var'
icpc: command line warning #10120: overriding '-O3' with '-O2'
src/videostreamer.cpp(156): warning #2259: non-pointer conversion from "int" to "unsigned short" may lose significant bits
m_socketAddressMulticast.sin_port = htons((uint16_t)atoi(uniformResourceIdentifier.port().c_str()));
^

src/videostreamer.cpp(156): error: destructible entities are not allowed inside of a statement expression
m_socketAddressMulticast.sin_port = htons((uint16_t)atoi(uniformResourceIdentifier.port().c_str()));
^

src/videostreamer.cpp(164): warning #2259: non-pointer conversion from "int" to "unsigned short" may lose significant bits
m_socketAddressLocal.sin_port = htons((uint16_t)atoi(uniformResourceIdentifier.port().c_str()));
^

src/videostreamer.cpp(164): error: destructible entities are not allowed inside of a statement expression
m_socketAddressLocal.sin_port = htons((uint16_t)atoi(uniformResourceIdentifier.port().c_str()));
^

src/videostreamer.cpp(246): remark #1418: external function definition with no prior declaration
void msleep(uint32_t milliseconds)
^

src/videostreamer.cpp(443): warning #2259: non-pointer conversion from "int" to "uint8_t={unsigned char}" may lose significant bits
uint8_t multicastTtl = m_multicastTtl;
^

src/videostreamer.cpp(508): remark #383: value copied to temporary, reference to temporary used
CHECK_RESULTS("VideoStreamer::connect pthread_create",returnValue);
^

compilation aborted for src/videostreamer.cpp (code 2)

Is this what you meant by output log?

Thans,

-Ed

TimP
Black Belt
870 Views
Yes, that shows much more serious problems than the one you quoted at first.
This article gives advice on conversion of that particular g++ specific idiom.
Reply