I am trying to compile simple test thread program on MSVC++ 6.0 sp5, winXP. But I keep getting this error:
Cannot open include file: 'features.h': No such file or directory
I know in Linux this file is usually in /usr/include, but is windows supposed to have this file? Could I get it from an NT box? Is there something I should #define, to get compiler to stop looking for the features.h file?
shouldn't config.h tell the compiler I don't have this file?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2002-02-13
copy the config.h from commonc++yada/win32 to wherever your code is looking (if you used the install.bat, it's in Microsoft Visual Studio\VC98\Include\cc++ or something like that).
This happened because the install.bat first copies the correct config.h, then copies the incorrect one, amongst other problems.
Here's a better install.bat.
------------------------------------
if "%MSVCDir%" == "" goto error1
if "%MSDevDir%" == "" set MSDevDir="%MSVCDir%"
if "%DLL_PATH%" == "" set DLL_PATH="%MSDevDir%\Bin"
set _nul_=nul
IF "%OS%" == "Windows_NT" set _nul_=
:: Copy all DLL in a directory in path
if not exist %DLL_PATH% mkdir %DLL_PATH%
copy debug\ccgnu32v2D.dll %DLL_PATH%
copy release\ccgnu32v2.dll %DLL_PATH%
:: Copy all include headers
if not exist "%MSVCDir%\Include\cc++/%_nul_%" mkdir "%MSVCDir%\Include\cc++"
if exist "%MSVCDir%\Include\cc++\*.h" del "%MSVCDir%\Include\cc++\*.h"
copy ..\src\*.h "%MSVCDir%\Include\cc++"
copy config.h "%MSVCDir%\Include\cc++"
del "%MSVCDir%\Include\cc++\private.h"
:: Copy library files
if not exist "%MSVCDir%\lib\%_nul_%" mkdir "%MSVCDir%\lib"
copy debug\ccgnu32v2D.lib "%MSVCDir%\lib"
copy release\ccgnu32v2.lib "%MSVCDir%\lib"
goto end
:error1
echo The "MSVCDIR" environment variable has not been defined.
echo Typically this is C:\Program Files\Microsoft Visual Studio\VC98
echo.
echo For Windows 95/98/ME users:
echo Select Start/Run
echo Type in:
echo notepad C:\AUTOEXEC.BAT
echo and add the following line:
echo SET MSVCDIR=C:\Program Files\Microsoft Visual Studio\VC98
echo Change the above to suit your system, as needed.
echo.
echo For Windows NT/2000/XP users:
echo Select Start/Settings/Control Panel/System/Advanced/Environment Variables/System Variables
echo.
goto end
:end
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am trying to compile simple test thread program on MSVC++ 6.0 sp5, winXP. But I keep getting this error:
Cannot open include file: 'features.h': No such file or directory
I know in Linux this file is usually in /usr/include, but is windows supposed to have this file? Could I get it from an NT box? Is there something I should #define, to get compiler to stop looking for the features.h file?
shouldn't config.h tell the compiler I don't have this file?
you need to specify commonc++ include directory "win32" before "src"
so "config.h" is taken from "win32" instead of "src"
...
excuse my ignorance, but how?
copy the config.h from commonc++yada/win32 to wherever your code is looking (if you used the install.bat, it's in Microsoft Visual Studio\VC98\Include\cc++ or something like that).
This happened because the install.bat first copies the correct config.h, then copies the incorrect one, amongst other problems.
Here's a better install.bat.
------------------------------------
@echo on
:: $Id: install.bat,v 1.17 2002/01/17 13:40:41 dyfet Exp $
if "%MSVCDir%" == "" goto error1
if "%MSDevDir%" == "" set MSDevDir="%MSVCDir%"
if "%DLL_PATH%" == "" set DLL_PATH="%MSDevDir%\Bin"
set _nul_=nul
IF "%OS%" == "Windows_NT" set _nul_=
:: Copy all DLL in a directory in path
if not exist %DLL_PATH% mkdir %DLL_PATH%
copy debug\ccgnu32v2D.dll %DLL_PATH%
copy release\ccgnu32v2.dll %DLL_PATH%
:: Copy all include headers
if not exist "%MSVCDir%\Include\cc++/%_nul_%" mkdir "%MSVCDir%\Include\cc++"
if exist "%MSVCDir%\Include\cc++\*.h" del "%MSVCDir%\Include\cc++\*.h"
copy ..\src\*.h "%MSVCDir%\Include\cc++"
copy config.h "%MSVCDir%\Include\cc++"
del "%MSVCDir%\Include\cc++\private.h"
:: Copy library files
if not exist "%MSVCDir%\lib\%_nul_%" mkdir "%MSVCDir%\lib"
copy debug\ccgnu32v2D.lib "%MSVCDir%\lib"
copy release\ccgnu32v2.lib "%MSVCDir%\lib"
goto end
:error1
echo The "MSVCDIR" environment variable has not been defined.
echo Typically this is C:\Program Files\Microsoft Visual Studio\VC98
echo.
echo For Windows 95/98/ME users:
echo Select Start/Run
echo Type in:
echo notepad C:\AUTOEXEC.BAT
echo and add the following line:
echo SET MSVCDIR=C:\Program Files\Microsoft Visual Studio\VC98
echo Change the above to suit your system, as needed.
echo.
echo For Windows NT/2000/XP users:
echo Select Start/Settings/Control Panel/System/Advanced/Environment Variables/System Variables
echo.
goto end
:end