Microsoft KB Archive/73417

= LINK &quot;Cannot Open Response File&quot; Error with &quot;@&quot; in Path =

Article ID: 73417

Article Last Modified on 8/16/2005

-

APPLIES TO


 * Microsoft BASIC Professional Development System 7.0
 * Microsoft BASIC Professional Development System 7.1
 * Microsoft QuickBasic 4.0
 * Microsoft QuickBASIC 4.0b
 * Microsoft QuickBasic 4.5 for MS-DOS
 * Microsoft BASIC Compiler 6.0
 * Microsoft BASIC Compiler 6.0b

-



This article was previously published under Q73417



SUMMARY
When you link a program from a directory having an &quot;@&quot; (&quot;at&quot; sign) in its name or with a file or library with an @ symbol in its path, the linker will give either a &quot;Cannot Open Response File&quot; or &quot;Cannot Nest Response File&quot; error message. The same error occurs when the file you are linking has an @ symbol in its name. This linker error correctly occurs because the linker assumes that the @ symbol means to use a response file.

To link successfully, you must remove @ characters from the filenames and directory names encountered by the LINK.EXE program.



Example 1
Any program, including a simple PRINT &quot;HELLO&quot; program, will cause this behavior.

If your current directory has an @ symbol in its name, and you try to compile and link a program from the QB.EXE or QBX.EXE environment, you will receive the message &quot;Cannot Nest Response File&quot;. For example:   c:\qb45\test@\ If you name the program TEST.BAS and try to compile and link it using the Make EXE File command from within the environment, you will get the following link error message:

&quot;Run File [test.exe]: c:\bc71\test@link : fatal error L1021: Cannot nest response files&quot;

If you compile and link from the DOS command line, the program compiles and links fine (as long as you don't fully qualify the path to TEST.EXE as done by the Make EXE File command in the QBX.EXE or QB.EXE environments).

Example 2
If in your LINK line from DOS you specify the path to a library in the library list and the path has an @ in it, you will get a &quot;Cannot Open Response File&quot; error message. For example: LINK TEST ,,, C:\BC71\TEST@\BCL71ENR.LIB;

&quot;link : fatal error 1089: cannot open response file&quot;



WORKAROUND
This problem is caused by having an @ symbol in the path and can be worked around by renaming the directory or placing the libraries in a directory with no @ symbol. The problem caused by having an @ symbol in the filename can be corrected by taking the @ symbol out of the filename.

Additional query words: QuickBas BasicCom 3.00 4.00 4.00b 4.50 6.00 6.00b 7.00 7.10

Keywords: KB73417

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.