This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: weird compile command issues


On Wed, 3 Mar 2004, Andrew Sasak wrote:

> I'm using a library I found on sourceforge called tclap. I installed the
> library correctly as far as I know. I have no problems compiling using the
> following command line: g++ -Wno-deprecated -o massflow.exe massflow.cpp
> cycle.cpp datapoint.cpp -L F:\cygwin\usr\local\lib -ltclap
>
> The following command line will compile in a Windows cmd.exe but not in the
> cygwin interface (or using Xemacs): g++ -mno-cygwin -Wno-deprecated -o
> massflow.exe -I %CYGWIN%\usr\local\include massflow.cpp cycle.cpp
> datapoint.cpp -L %CYGWIN%\usr\local\lib -ltclap
>
> I get the following errors:
> massflow.cpp:9:27: tclap/CmdLine.h: No such file or directory
> massflow.cpp:13: error: namespace `TCLAP' undeclared
>
> I've tried reversing the slashes, putting paths in quotes, etc. I would like
> to be able to use Xemacs to compile and use the -mno-cygwin flag so that I
> can distribute my software without the cygwin .dll. I'm guessing there might
> be something simple I'm not seeing. Thanks for your help.

You haven't told us anything about your system.  Please read the Cygwin
problem reporting guidelines at <http://cygwin.com/problems.html> to find
out what information needs to be provided.  However, I can probably make a
few recommendations with what little information you supplied.

It's preferable to use POSIX paths with Cygwin programs (including gcc),
so that the above line should really be something like

g++ -mno-cygwin -Wno-deprecated -o massflow.exe -I /usr/local/include massflow.cpp cycle.cpp datapoint.cpp -L /usr/local/lib -ltclap

If your paths come in from Windows, read up on the "cygpath" utility.
Even if using Win32 paths is unavoidable (and Cygwin programs *will*
understand them most of the time), you should quote the backslashes
properly or use forward slashes.

Finally, the CYGWIN environment variable has special meaning in Cygwin,
and it isn't the Win32 location of the root directory (use `cygpath -w /`
for that).  Also, Cygwin's shells will not understand the %VAR% syntax.

In short, use POSIX paths, don't use $CYGWIN, and you should be ok.
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha@cs.nyu.edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski, Ph.D.
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"I have since come to realize that being between your mentor and his route
to the bathroom is a major career booster."  -- Patrick Naughton

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]