Showing results for 
Search instead for 
Do you mean 

uflink error


i'm using ufcomp and uflink to compile and link my cpp file(c++).
when i use the ufcomp i'm getting this warning 


cl : command line warning D9038 : /ZI is not supported in this platform; enabling Zi instead

 but obj file was creted along with pdb file

and when i m linking with uflink ufdll=myfilename.dll, I'm getting this

Nmake:fatal error U1073: don't know how to make 'c:\program' 

 even i don't have c:\program in my file path.

Any help would be greatful.



Re: uflink error

You didn't say what NX version...



I'v found this is set in the %UGII_BASE_DIR%\UGOPEN\ufvars.bat.

Look for a line like:

set CL=-c -Ox /GR -nologo -MD -ZI -EHsc -D_SECURE_SCL=0

(you have to hunt thru a bit to get the proper platform)


(speaking of which, why is 32 bit support still in this .BAT?)


I'm not sure why they have /ZI but the above line seems to over-ride the project settings in visual studio.

see if ufcomp uses ufvars?


re: C:\program

I'm guessing you have "C:\Program Files\..." or "C:\Program Files (x86)\..." in your path, and it's not finding a file it needs before it gets to that path entry, and the entry doesn't have double quotes, so as it gets parsed, it breaks at the space and (of course) the folder "C:\Program" doesn't exist.


Not sure what is doing the parsing, but at one point I had to double quote every such entry in the PATH env variable (but I thought that was fixed?)


Another issue is if you have a localized version of Windows, it may not be "C:\Program Files\..." it may be the local language equivalent of "Program Files" (e.g. Spanish is C:\Archivos de programa)



Ken Akerboom Sr CAx Systems Engr, Moog, Inc.
Production: NX10.0.3.5 MP5 + patch/TC11.2
I'd rather be e-steemed than e-diseaseled

Re: uflink error


I'm using NX version.


Re: ZI 
i found the line in ufvars.bat file and i changed ZI to Zi and the warning does not appear any more

Re: uflink
i'm using the command line of NX like this 

C:\Users\user\Desktop\NXOpen> uflink UFDLL=preferences.dll


C:\Users\user\Desktop\NXOpen> uflink UFDLL="preferences.dll"

In both,I don't have C:\program file path..I don't know from where it gets it.
i take a look to ufmake.mak and uflink.mak  I can't find any thing that i can change.


Any help. 

Re: uflink error

In the window (or .bat) you are using to run the uflink command, issue a "set path" command.

I'm thinking the ENV variable "PATH" is the issue.

Ken Akerboom Sr CAx Systems Engr, Moog, Inc.
Production: NX10.0.3.5 MP5 + patch/TC11.2
I'd rather be e-steemed than e-diseaseled

Re: uflink error

I don't have NX 10.0, I have NX 9.0, but I think it should be very similar.


In your NX 10.0\UGOPEN, there is the file "uflink.bat".  Edit this file, and look for a line similar to this

nmake -nologo -f "%UGII_USERFCN%\uflink.mak" %TARGET%=%FILE% "UFEXTRA=%UFEXTRA%" "allNXOpenCppLibs=%allNXOpenCppLibs%"

to see what the program is doing, add an echo command at the beginning of this line, and then a pause command, like this

echo nmake -nologo -f "%UGII_USERFCN%\uflink.mak" %TARGET%=%FILE% "UFEXTRA=%UFEXTRA%" "allNXOpenCppLibs=%allNXOpenCppLibs%"

save the file, and run your uflink command again.  You will get a line that shows how the command is been executed.

Paste the output back to the forum to see what you are getting.


Remove the echo and pause commands, to revert back the program to its original state.

Re: uflink error

hi ,

when i add the echo commande and pause in the line, It shows :


nmake -nologo -f "C:\Program Files\Siemens\NX 10.0\ugopen\uflink.mak" ufdll=preferences.dll "UFEXTRA=" "allNXOpenCppLibs=C:\Program Files\Siemens\NX"

 It seems that NX Cpp librabray not filled correctly. how can i fix this.

Thank you

Re: uflink error

[ Edited ]

After a quick review, I think the problem is in the shortcut that starts the NX Command Prompt.


Try creating a shortcut in your Desktop with this info (see attached picture)

C:\Windows\System32\cmd.exe /k ugiicmd.bat C:\Progra~1\Siemens\NX10~1.0

Start in:

Named the shortcut "NX Command Prompt"


Check if this modified shortcut works OK.