- Remove From My Forums
-
Question
-
Hi,
When I converted VC6 code to Visual Studio 2010 I got error message:
fatal error U1073: don’t know how to make «c:program filesmicrosoft visual studiovc98includebasetsd.h»
How to fix this?
Thanks in advance.
MFC coder
Answers
-
Hi,
When I converted VC6 code to Visual Studio 2010 I got error message:
fatal error U1073: don’t know how to make «c:program filesmicrosoft visual studiovc98includebasetsd.h»This path is in the tree for a VC6 installation. However I do not find the file basetsd.h in my VC6 installation. Do you have this file on your system?
If it were me I would try to find how this file was referenced in my project, and see what happened if I simply removed the reference.
David Wilkinson | Visual C++ MVP
-
Marked as answer by
Thursday, May 3, 2012 2:57 AM
-
Marked as answer by
-
basetsd.h file is part of VC 6.0 installation as well as all versions of VS installation; in all cased it resides in include folder.
Dave is right, you have to have some reference to this path.
Since you are using VS to do the build, check if you have makefile file anywhere in your project directory and if makefile is not a part of the project. If this is a case remove it.
Another thing to look into is project settings -> build events
and custom build step for the project and individual files.
JohnCz
-
Marked as answer by
Helen Zhao
Thursday, May 3, 2012 2:57 AM
-
Marked as answer by
The problem with the build process is due to the following lines in the «model.mk» makefile. The .mk file contains the following code:
MATLAB_ROOT = C:Program FilesMATLABR2013a
ALT_MATLAB_ROOT = C:Program FilesMATLABR2013a
MATLAB_BIN = C:Program FilesMATLABR2013abin
ALT_MATLAB_BIN = C:Program FilesMATLABR2013abin
Since the MATLAB_ROOT and ALT_MATLAB_ROOT variables have the same value, the makefile is using the MATLAB_ROOT value with spaces. The build process does not know how to handle files with spaces in the path. MATLAB normally populates ALT_MATLAB_ROOT with the short path name, usually «C:PROGRA~1». This issue may occur:
(1) If the generation of short path names is disabled on your Windows system.
(2) If MATLAB was itself installed in a path with a space in it (such as C:Program Files) for R2014b and earlier. In the R2015a SP1 and later releases, the issue was fixed and would not occur.
The proper code should have been as below:
MATLAB_ROOT = C:Program FilesMATLABR2013a
ALT_MATLAB_ROOT = C:PROGRA~1MATLABR2013a
MATLAB_BIN = C:Program FilesMATLABR2013abin
ALT_MATLAB_BIN = C:PROGRA~1MATLABR2013abin
There are a few methods for resolving this issue:
SOLUTION 1 — Enable Windows short names
This is perhaps the easiest of the solutions. There is a setting in Windows registry that enables/disables the generation of short names for file paths. Please use the following steps to change this setting:
(NOTE: Due to Windows security settings on the Program Files folder, this method may not work. If you receive a message during step 4 that says «Error: Access is denied.», please use one of the other solutions.)
1. Go to Windows Start menu and search for «regedit.exe». A new window will open.
2. Navigate to the following location:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystemNtfsDisable8dot3NameCreation
3. Change the value of «NtfsDisable8dot3NameCreation» to 0.
4. However, changing the value above will only set short names for files and folders that are created after making the change. To set a short name for use the «fsutil» function in Windows command prompt. The syntax to set the short name is as follows:
> fsutil file setshortname <FileName> <ShortName>
For the example of «C:Program Files» the user would issue the following command to set the short name for «Program Files» to «PROGRA~1».
> fsutil file setshortname «C:Program Files» PROGRA~1
The directory needs to be in quotations because it has spaces.
SOLUTION 2 — Create a symbolic link to the MATLAB installation folder
1. Open a Windows Command Prompt. And go to the C: directory.
2. Create the symbolic link to the location where your MATLAB versions are installed. The syntax is as follows:
> mklink /d <Link> <Target>
For example, a typical MATLAB installation folder is C:Program FilesMATLAB. To make a link to that folder called MyMatlab use the following command:
> mklink /d C:MyMatlab «C:Program FilesMATLAB»
If you open the new MyMatlab folder, you should see the folders for each version of MATLAB that are installed.
3. Create a new shortcut for MATLAB. This can go on your desktop or wherever you would like.
4. Right-click on the shortcut and open Properties.
5. Go to the ‘Shortcut’ tab. In the ‘Target:’ option there will be a path to the executable that is used to launch MATLAB from this shortcut. Modify this path to use the newly created symbolic link. For the example above the, it should read
C:MyMatlabR2013abinmatlab.exe
6. Launch MATLAB from this shortcut. Verify the location by typing «matlabroot» without quotations in Command Window, this should have no spaces in it now.
7. If you have multiple versions of MATLAB, repeat steps 3-6 for each version so that they will be launched from a location with no spaces in the path.
This solution will work for the newly created shortcuts. If you launch MATLAB from a different location it will not use the symbolic link and there will be the same issue with spaces in the path.
SOLUTION 3 — Change the MATLAB Installation Folder
The reason we use short paths is to avoid white spaces in the paths. By reinstalling MATLAB at a location without any spaces in the paths, you can workaround the build issue. However, this will require you to download and reinstall MATLAB.
For example, MATLAB can be installed at a path as below
C:MATLAB_InstallMATLABR2013a
Much like Solution 2, this solution will require you to reinstall MATLAB for all versions that you use.
SOLUTION 4 — Modify the template makefile
Another way around this issue is to encase the file names in double-quotes. This will cause the build process to treat the file names enclosed in double-quotes literally which will cause the build to succeed.
To do this, open the template makefile that you are using for code generation. Make a copy of this file and rename it. Inside this file, wherever «$(MATLAB_ROOT)» is used as part of a path, put a double quote before the «$» sign and after the last character in the path. For example, if the original line in the TMF was:
{$(MATLAB_ROOT)toolboxrtwtargetsxpctargetbuildxpcblocks}.c.obj :
The line would be replaced with:
{«$(MATLAB_ROOT)toolboxrtw_targetsxpctargetbuildxpcblocks»}.c.obj :
In «Configuration Parameters» -> «Code Generation» make sure that the «Template makefile» option points to the modified TMF, or else the changes will not be reflected in the generated code.
This method will need to be repeated for each template makefile that is used.
The limitations mentioned in the section ‘Build Process Folder Support on Windows’ are addressed in the methods mentioned above.
Problem
Rose RealTime compilation error: «NMAKE : fatal error U1073: don’t know how to make RTcompile» with ClearCase Dynamic view
Resolving The Problem
SYMPTOM:
I have compiled a Rose RealTime model in a ClearCase Snapshot view and the compilation proceeds as normal.
However, when I attempt to compile the same model in a ClearCase Dynamic view I get the following compilation error:
Running: nmake -nologo RTcompile
NMAKE : fatal error U1073: don’t know how to make ‘RTcompile’
Stop.
Error: Build failed status 2
CAUSE:
You are probably using the ClearCase Multiple Version File System (MVFS) with «case insensitive mode» and «case preserving» not selected.
RESOLUTION:
Rose RealTime requires that the ClearCase Multiple Version File System (MVFS) is
used in case insensitive mode. To ensure you are in this mode, please:
1. Go to the ClearCase Control panel tool and select the MVFS tab.
(The ClearCase Control Panel tool can be started from either the Windows
Control Panel or from the Administration tab in the HomeBase tool)
2. Make sure the «Case Insensitive MVFS» check box is selected.
3. Make sure the «Case Preserving» check box is selected.
4. The MVFS service must be restarted for this change to take effect. This amounts to a reboot of your workstation, as the MVFS «system» is actually a foreign file system.
For complete instructions on integrating Rose RealTime with ClearCase, please refer to
the Rose RealTime «Guide to Team Development» and Solution 12900: «Integrating ClearCase to Rational Rose RealTime for NT».
[{«Product»:{«code»:»SSSHKL»,»label»:»Rational Rose RealTime»},»Business Unit»:{«code»:»BU053″,»label»:»Cloud & Data Platform»},»Component»:»—«,»Platform»:[{«code»:»PF033″,»label»:»Windows»}],»Version»:»2002.05.00.305.000″,»Edition»:»»,»Line of Business»:{«code»:»LOB45″,»label»:»Automation»}}]
- Forum
- Qt
- Newbie
- build mesage — NMAKE : fatal error U1073: don’t know how to make ‘C:Program’
-
build mesage — NMAKE : fatal error U1073: don’t know how to make ‘C:Program’
Windows7/Qt5.4 and Creator IDE/compiling on VS2010
build message — NMAKE : fatal error U1073: don’t know how to make ‘C:Program’
Although I am sure I am pointing to the the correct libraries in the pro file. I cannot get past this message.
Everything runs well in vs2010 using the QT5 addin but on the creator IDE nothing but this message.Any suggestions would be appreciated.
-
Re: build mesage — NMAKE : fatal error U1073: don’t know how to make ‘C:Program’
I’m taking a quick guess here. You’ve got a path containing a space (C:Program Files…) somewhere that’s not quoted in the generated makefiles.
All paths with space chars must be quoted («») or parts of the build system might fail.Easiest solution is to not have any paths with spaces in your project path. But if you want to find where it fails you need to dig down into the generated makefiles located in your build directory. Ctrl-5 in Qt Creator will take you to settings for your project and under Build Settings there you can see your current build directory.
Never had this problem myself with Qt but the first place to look would be your .pro file. Any paths there with spaces must be quoted.
-
Re: build mesage — NMAKE : fatal error U1073: don’t know how to make ‘C:Program’
Thanks for your advice — I thought it might work. But after putting all the quotes (» «) in and confirming that they were all in the makefile and the debug makefile. Nothing — just the annoying…
NMAKE : fatal error U1073: don’t know how to make ‘C:Program’.
So here I stay….
-
Re: build mesage — NMAKE : fatal error U1073: don’t know how to make ‘C:Program’
Look at the actual commands being executed by Nmake because the error is there. We cannot see those so we cannot tell you exactly what the issue is.
Also your sources and build directory should not be under that path as they may be for the examples. Windows rightly block writes there.
-
Re: build mesage — NMAKE : fatal error U1073: don’t know how to make ‘C:Program’
Thanks everybody for taking the interest. But I ‘ve got it all working by comparing notes with another example. So perhaps you could help me by explaining why
This works
LIBS +=$$quote(-LC:Program FilesBaslerpylon 4pylonlibWin32)
-lPylonBase_MD_VC100and this does not
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../../../..»/Program Files/Basler/pylon 4/pylon/lib/Win32/ -lPylonBase_MD_VC100″
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../../../..»/Program Files/Basler/pylon 4/pylon/lib/Win32/ -lPylonBase_MD_VC100d»maybe my quotes where in the wrong place.
Thanks again everybody.
To ChrisW67
You wrote «Look at the actual commands being executed by Nmake.. » I am assuming you mean in the makefile?
-
Re: build mesage — NMAKE : fatal error U1073: don’t know how to make ‘C:Program’
No, I meant the actual commands executed by Nmake when it processes the Makefile generated by qmake. Yes, the commands are ultimately in the Makefile, but looking at the actual command that failed removes the obscuring factor of the variable expansions etc. and may lead to the correct bit of the Makefile/PRO file faster. These should show in the Qt Creator Compiler Output tab.
LIBS += -L$$PWD/../../../../../../.."/Program Files/Basler/pylon 4/pylon/lib/Win32/ -lPylonBase_MD_VC100"
To copy to clipboard, switch view to plain text mode
by the time qmake and nmake are done and a Windows command shell gets the command you probably end up with:
-L$$PWD/../../../../../../../Program
Files/Basler/pylon
4/pylon/lib/Win32/
-lPylonBase_MD_VC100
To copy to clipboard, switch view to plain text mode
as 4 (not 2) arguments converted for the Microsoft linker.
I would be inclined to try:
LIBS += "-L$$PWD/../../../../../../../Program Files/Basler/pylon 4/pylon/lib/Win32/" -lPylonBase_MD_VC100
// or
LIBS += -L"$$PWD/../../../../../../../Program Files/Basler/pylon 4/pylon/lib/Win32/" -lPylonBase_MD_VC100
To copy to clipboard, switch view to plain text mode
or an absolute path set only once (something like)
PYLON_HOME="C:/Program Files/Basler/pylon 4/pylon"
win32:CONFIG(release, debug|release): LIBS += -L"$$PYLON_HOME/lib/Win32" -lPylonBase_MD_VC100
else:win32:CONFIG(debug, debug|release): LIBS += -L"$$PYLON_HOME/lib/Win32" -lPylonBase_MD_VC100d
To copy to clipboard, switch view to plain text mode
-
Re: build mesage — NMAKE : fatal error U1073: don’t know how to make ‘C:Program’
ChrisW67 — many thanks for the trouble you have taken in explaining what these commands mean. Greatly appreciated.
Similar Threads
-
Replies: 0
Last Post: 28th June 2014, 03:55
-
Replies: 0
Last Post: 25th August 2013, 21:54
-
Replies: 2
Last Post: 20th February 2013, 10:32
-
Replies: 3
Last Post: 10th September 2011, 16:23
-
Replies: 0
Last Post: 7th April 2009, 19:18
Bookmarks
Bookmarks

Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
- BB code is On
- Smilies are On
- [IMG] code is On
- [VIDEO] code is On
- HTML code is Off
Forum Rules
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.
|
8 / 8 / 4 Регистрация: 14.05.2010 Сообщений: 133 |
|
|
1 |
|
|
30.10.2017, 00:06. Показов 7114. Ответов 23
Доброго времени суток! Появилась необходимость скомпилировать готовую библиотеку для студии, а именно libssh-0.7.5. 1. Скачиваю архив с исходниками с офф. сайта. Уважаемые, какие будут предложения?
__________________
0 |
|
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
30.10.2017, 00:06 |
|
23 |
|
3433 / 2812 / 1249 Регистрация: 29.01.2016 Сообщений: 9,426 |
|
|
01.11.2017, 19:25 |
2 |
|
Запускаю nmake: Для nmake нужен makefile. CMakeLists.txt — это для сборки makefile с помощью cmake.
1 |
|
8 / 8 / 4 Регистрация: 14.05.2010 Сообщений: 133 |
|
|
01.11.2017, 19:28 [ТС] |
3 |
|
Это все есть в комплекте библиотеки, но ее сборка все равно не выполняется.
0 |
|
3433 / 2812 / 1249 Регистрация: 29.01.2016 Сообщений: 9,426 |
|
|
01.11.2017, 19:52 |
4 |
|
Это все есть в комплекте библиотеки Всё не нужно. Нужен makefile, и именно для nmake, а не, например, для mingw32-make.
1 |
|
8 / 8 / 4 Регистрация: 14.05.2010 Сообщений: 133 |
|
|
01.11.2017, 20:09 [ТС] |
5 |
|
именно для nmake Это где-то должно быть указано или нужно смотреть документацию поставщика. Миниатюры
0 |
|
3433 / 2812 / 1249 Регистрация: 29.01.2016 Сообщений: 9,426 |
|
|
01.11.2017, 20:16 |
6 |
|
Прикрепил структуру нужной мне библиотеки. И где тут makefile?
1 |
|
8 / 8 / 4 Регистрация: 14.05.2010 Сообщений: 133 |
|
|
01.11.2017, 20:21 [ТС] |
7 |
|
И где тут makefile? Я так понимаю его нужно каким-то образом получить, используя компилятор.
0 |
|
3433 / 2812 / 1249 Регистрация: 29.01.2016 Сообщений: 9,426 |
|
|
01.11.2017, 20:27 |
8 |
|
Я так понимаю его нужно каким-то образом получить, …
CMakeLists.txt — это для сборки makefile с помощью cmake.
1 |
|
8 / 8 / 4 Регистрация: 14.05.2010 Сообщений: 133 |
|
|
01.11.2017, 20:29 [ТС] |
9 |
|
Т.е. собрать это добро, использую nmake и соответственно студию нельзя?
0 |
|
3433 / 2812 / 1249 Регистрация: 29.01.2016 Сообщений: 9,426 |
|
|
01.11.2017, 20:33 |
10 |
|
Сам эту либу не собирал, но если cmake соберёт makefile для студии, то дальше можно будет использовать nmake.
1 |
|
8 / 8 / 4 Регистрация: 14.05.2010 Сообщений: 133 |
|
|
01.11.2017, 20:45 [ТС] |
11 |
|
cmake соберёт makefile для студии cmake тоже должен идти в комплекте со студией или его нужно ставить отдельно?
0 |
|
3433 / 2812 / 1249 Регистрация: 29.01.2016 Сообщений: 9,426 |
|
|
01.11.2017, 20:53 |
12 |
|
cmake — это отдельный инструмент. На скрине есть папка cmake, но что там (и для чего) — я без понятия. По идее, в README или INSTALL должно быть описание что и как делать.
1 |
|
8 / 8 / 4 Регистрация: 14.05.2010 Сообщений: 133 |
|
|
01.11.2017, 20:57 [ТС] |
13 |
|
На скрине есть папка cmake Вот вложения Миниатюры
0 |
|
3433 / 2812 / 1249 Регистрация: 29.01.2016 Сообщений: 9,426 |
|
|
01.11.2017, 21:05 |
14 |
|
РешениеЭто не то, cmake.exe нужен. Устанавливай cmake (нужная версия в CMakeLists.txt должна быть указана), изучай как пользоваться.
1 |
|
8 / 8 / 4 Регистрация: 14.05.2010 Сообщений: 133 |
|
|
01.11.2017, 21:19 [ТС] |
15 |
|
И еще один вопрос. На всех ресурсах рекомендуют пользоваться cmake, используя командную строку. Добавлено через 14 минут
0 |
|
3433 / 2812 / 1249 Регистрация: 29.01.2016 Сообщений: 9,426 |
|
|
01.11.2017, 21:21 |
16 |
|
Решениеcmake — отдельно, студия отдельно. Если запустить cmake -help, то там будет вариант параметров запуска cmake для сборки makefile под нужную версию студии.
1 |
|
8 / 8 / 4 Регистрация: 14.05.2010 Сообщений: 133 |
|
|
01.11.2017, 21:24 [ТС] |
17 |
|
Нашел главную свою проблему. Не добавил CMAKE в переменную среды PATH…
0 |
|
3433 / 2812 / 1249 Регистрация: 29.01.2016 Сообщений: 9,426 |
|
|
01.11.2017, 21:29 |
18 |
|
Нашел главную свою проблему. Не добавил CMAKE в переменную среды PATH.. Разве запускал cmake?
0 |
|
8 / 8 / 4 Регистрация: 14.05.2010 Сообщений: 133 |
|
|
01.11.2017, 21:37 [ТС] |
19 |
|
Разве запускал cmake? Пытался. Графический, а в командной строке работать он не хотел. Добавлено через 4 минуты D:libssh>cmake -G «Visual Studio 14 2015» CMake Error at cmake/Modules/MacroEnsureOutOfSourceBuild.cmake:14 (message): — Configuring incomplete, errors occurred! Добавлено через 1 минуту
0 |
|
3433 / 2812 / 1249 Регистрация: 29.01.2016 Сообщений: 9,426 |
|
|
01.11.2017, 21:51 |
20 |
|
Пытался. Графический, а в командной строке работать он не хотел. Понятно. Добавлено через 13 минут
Ошибка выходит(( Отдельную папку для сборки создай, перейди туда и оттуда cmake вызывай. В параметрах вызова укажи полный путь к папке с CMakeLists.txt.
0 |




Сообщение было отмечено kolya8920 как решение