Lnk1104 не удается открыть файл glut32 lib
Каждый раз, когда я пытаюсь запустить свой код, я получаю эту ошибку. Я перепробовал все, устанавливая SDK, но все равно получаю ту же ошибку.
Я использую Windows 7 и Visual Studio 2012.
Решение
а у тебя glut32 есть? или glu32 одно и тоже?))
скачал новый dll все равно (((((
Все заработало))) Оказывается надо glut32dll кидать не в system32 а в system )) в system32 она до этого была) а я уже glut32dll накидал куда можно)) Всем спасибо за помощь.
Возьми сотри у себя все include и pragma и напиши
Разве не работает.
Ой не тот файл.
Сейчас посмотрела в системной папке там вообще нету глут32.длл, но у меня работат программа получается без него. О_о
Ой не тот файл.
Сейчас посмотрела в системной папке там вообще нету глут32.длл, но у меня работат программа получается без него. О_о
Наверное тоже колдовали :D
Возьми сотри у себя все include и pragma и напиши
Разве не работает.
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__gluNewQuadric@0 в функции "void __cdecl Init(void)" (?Init@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glEnable@4 в функции "void __cdecl Init(void)" (?Init@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glLightfv@12 в функции "void __cdecl Init(void)" (?Init@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glMaterialfv@12 в функции "void __cdecl Init(void)" (?Init@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glShadeModel@4 в функции "void __cdecl Init(void)" (?Init@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glClearColor@16 в функции "void __cdecl Init(void)" (?Init@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glEnd@0 в функции "void __cdecl DrawGraphic(void)" (?DrawGraphic@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glVertex3d@24 в функции "void __cdecl DrawGraphic(void)" (?DrawGraphic@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glColor3d@24 в функции "void __cdecl DrawGraphic(void)" (?DrawGraphic@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glBegin@4 в функции "void __cdecl DrawGraphic(void)" (?DrawGraphic@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glPopMatrix@0 в функции "void __cdecl DrawFigure(void)" (?DrawFigure@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutSolidOctahedron@0 в функции "void __cdecl DrawFigure(void)" (?DrawFigure@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutWireOctahedron@0 в функции "void __cdecl DrawFigure(void)" (?DrawFigure@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glScalef@12 в функции "void __cdecl DrawFigure(void)" (?DrawFigure@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__gluCylinder@36 в функции "void __cdecl DrawFigure(void)" (?DrawFigure@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glTranslatef@12 в функции "void __cdecl DrawFigure(void)" (?DrawFigure@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glRotatef@16 в функции "void __cdecl DrawFigure(void)" (?DrawFigure@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glPushMatrix@0 в функции "void __cdecl DrawFigure(void)" (?DrawFigure@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutPostRedisplay@0 в функции "void __cdecl KeyboardFunc(unsigned char,int,int)" (?KeyboardFunc@@YAXEHH@Z)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutSwapBuffers@0 в функции "void __cdecl DrawFunc(void)" (?DrawFunc@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__gluLookAt@72 в функции "void __cdecl DrawFunc(void)" (?DrawFunc@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glLoadIdentity@0 в функции "void __cdecl DrawFunc(void)" (?DrawFunc@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__gluQuadricDrawStyle@8 в функции "void __cdecl DrawFunc(void)" (?DrawFunc@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glDisable@4 в функции "void __cdecl DrawFunc(void)" (?DrawFunc@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glClear@4 в функции "void __cdecl DrawFunc(void)" (?DrawFunc@@YAXXZ)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glOrtho@48 в функции "void __cdecl ReshapeFunc(int,int)" (?ReshapeFunc@@YAXHH@Z)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glMatrixMode@4 в функции "void __cdecl ReshapeFunc(int,int)" (?ReshapeFunc@@YAXHH@Z)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glViewport@16 в функции "void __cdecl ReshapeFunc(int,int)" (?ReshapeFunc@@YAXHH@Z)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutTimerFunc@12 в функции "void __cdecl TimerFunc(int)" (?TimerFunc@@YAXH@Z)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutSetWindowTitle@4 в функции "void __cdecl TimerFunc(int)" (?TimerFunc@@YAXH@Z)
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutMainLoop@0 в функции _main
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutIdleFunc@4 в функции _main
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutMotionFunc@4 в функции _main
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutMouseFunc@4 в функции _main
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutKeyboardFunc@4 в функции _main
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutReshapeFunc@4 в функции _main
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutDisplayFunc@4 в функции _main
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutCreateWindow@4 в функции _main
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutInitDisplayMode@4 в функции _main
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutInitWindowPosition@8 в функции _main
1>олег 2.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutInitWindowSize@8 в функции _main
Не удается открыть файл библиотеки Майкрософт
Updated Windows SDK libraries
This error can occur when the Visual Studio path to the Windows SDK is out of date. It may happen if you install a newer Windows SDK independently of the Visual Studio installer. To fix it in the IDE, update the paths specified in the VC++ Directories property page. Set the version in the path to match the new SDK. If you use the Developer Command Prompt, update the batch file that initializes the environment variables with the new SDK paths. This problem can be avoided by using the Visual Studio installer to install updated SDKs.
Проблемы с путями или именами файлов
Другие распространенные проблемы
Не удается открыть сторонний файл библиотеки
Существует несколько распространенных причин этой проблемы.
Путь к файлу библиотеки может быть неверным или не заключен в двойные кавычки. Или, возможно, вы не указали его для компоновщика.
Возможно, вы установили 32-разрядную версию библиотеки, но при этом собираетесь на 64 бит или наоборот.
Библиотека может зависеть от других библиотек, которые не установлены.
Может потребоваться предоставить каталог библиотеки, переопределяющий каталог стандартной библиотеки. В командной строке используйте параметр /libpath . В интегрированной среде разработки используйте свойство Дополнительные каталоги библиотек на странице свойств " Общие" компоновщика > свойств > конфигурации для проекта.
Убедитесь, что установлены все версии библиотеки, необходимые для создаваемых конфигураций. воспользуйтесь программой управления пакетами vcpkg , чтобы автоматизировать установку и настройку для многих распространенных библиотек. По возможности лучше создавать собственные копии сторонних библиотек. Затем вы убедитесь, что все локальные зависимости библиотек созданы для тех же конфигураций, что и ваш проект.
Библиотеки vcruntime с отслеживанием версий
Incorrect file permissions
This error can occur if you have insufficient file permissions to access filename. It may happen if you use an ordinary user account to access library files in protected system directories. Or, if you use files copied from other users that still have their original permissions set. To fix this issue, move the file to a writeable project directory. If the moved file has inaccessible permissions, run the takeown.exe command in an Administrator command window to take ownership of the file.
Your app is locked by an antivirus scan
Antivirus programs often temporarily block access to newly created files, especially .exe and .dll executable files. To fix this issue, try excluding your project build directories from the antivirus scanner.
Библиотеки для розничной торговли, отладки или конкретной платформы
Эта ошибка может возникнуть при первой сборке для новой целевой платформы или конфигурации, например в розничной торговле или ARM64. в интегрированной среде разработки проверьте, установлены ли набор инструментов платформы и Windows SDK версии , указанной на странице свойств общие . также убедитесь, что необходимые библиотеки доступны в каталогах библиотек , указанных на странице свойств каталоги VC++. Проверьте свойства каждой конфигурации, например Debug, Retail, x86 или ARM64. Если одна сборка работает, но другая нет, Сравните параметры обоих параметров. Установите все отсутствующие необходимые инструменты и библиотеки.
Help, my issue isn't listed here!
When none of the issues listed here apply, you can use the feedback tools in Visual Studio for help. In the IDE, go to the menu bar and choose Help > Send Feedback > Report a Problem. Or, submit a suggestion by using Help > Send Feedback > Send a Suggestion. You can also use the Microsoft Docs Q&A site for questions, and the Visual Studio C++ Developer Community website. Use these sites to search for answers to questions and ask for help. For more information, see How to report a problem with the Visual C++ toolset or documentation.
If you've discovered a new way to fix this issue that we should add to this article, let us know. You can send us feedback by using the button below for this page. Use it to create a new issue in our C++ documentation GitHub repo. Thanks!
Эта ошибка возникает, когда компоновщику не удается открыть файл для чтения или записи. Ниже перечислены две наиболее распространенные причины этой проблемы.
Программа уже запущена или загружена в отладчике, и
пути к библиотеке неверны или не заключены в двойные кавычки.
Существует множество других возможных причин этой ошибки. Чтобы сократить их, сначала проверьте Тип файла. Затем используйте следующие разделы для выявления и исправления конкретной проблемы.
Слишком большие файлы
Эта ошибка может возникать из-за слишком большого размера файла. Библиотеки или объектные файлы, размер которых превышает гигабайт, может вызвать проблемы для 32-разрядного компоновщика. Возможным исправлением этой проблемы является использование 64-разрядного набора инструментов. Дополнительные сведения о том, как использовать 64-разрядный набор средств в командной строке, см. в разделе как включить 64-разрядный Visual C++ набор инструментов в командной строке. сведения о том, как использовать 64-разрядный набор инструментов в интегрированной среде разработки, см. в разделе использование MSBuild с 64-разрядным компилятором и инструментами. также см. статью Stack Overflow post: как сделать Visual Studio использовать собственную цепочки инструментов amd64.
Can't open a third-party library file
There are several common causes for this issue:
The path to your library file may be incorrect, or not wrapped in double-quotes. Or, you may not have specified it to the linker.
You may have installed a 32-bit version of the library but you're building for 64 bits, or the other way around.
The library may have dependencies on other libraries that aren't installed.
To fix a path issue for command-line builds, verify the LIB environment variable is set. Make sure it includes paths for all the libraries you use, and for every configuration you build. In the IDE, the library paths get set by the VC++ Directories > Library Directories property. Make sure all the directories that contain the libraries you need are listed here, for every configuration you build.
You might need to supply a library directory that overrides a standard library directory. On the command line, use the /LIBPATH option. In the IDE, use the Additional Library Directories property in the Configuration Properties > Linker > General property page for your project.
Make sure you install every version of the library you need for the configurations you build. Consider using the vcpkg package management utility to automate the installation and setup for many common libraries. When you can, it's best to build your own copies of third-party libraries. Then you're sure to have all the libraries' local dependencies, built for the same configurations as your project.
Неправильные разрешения для файла
Эта ошибка может возникать, если у вас недостаточно разрешений для доступа к файлу filename. Это может произойти, если для доступа к файлам библиотеки в защищенных системных каталогах используется обычная учетная запись пользователя. Или, если вы используете файлы, скопированные с других пользователей, у которых все еще есть исходный набор разрешений. Чтобы устранить эту проблему, переместите файл в каталог проекта с возможностью записи. Если перемещенный файл имеет недоступные разрешения, выполните команду takeown.exe в окне командной строки администратора, чтобы стать владельцем файла.
Проблемы в переменной среды TMP
Если имя файла LNKnnn, то это имя файла, созданного компоновщиком для временного файла. Каталог, указанный в переменной среды TMP, может не существовать. Кроме того, для переменной среды TMP может быть задано несколько каталогов. Для переменной среды TMP должен быть указан только один путь к каталогу.
Слишком длинные пути
Эта ошибка может появиться, когда путь к файлу расширяется до 260 символов. При необходимости измените структуру каталогов или Сократите имена папок и файлов, чтобы сократить пути.
Can't open a Microsoft library file
Приложение заблокировано антивирусным сканированием
Антивирусные программы часто временно блокируют доступ к вновь созданным файлам, особенно .exe и .dll исполняемые файлы. Чтобы устранить эту проблему, попробуйте исключить каталоги сборки проекта из антивирусного сканера.
Retail, Debug, or platform-specific libraries
The error may occur when you first build for a new target platform or configuration, such as Retail, or ARM64. In the IDE, verify the Platform toolset and Windows SDK Version specified in the General property page are installed. Also verify the required libraries are available in the Library Directories specified in the VC++ Directories Property Page. Check the properties for each configuration, such as Debug, Retail, x86, or ARM64. If one build works but another doesn't, compare the settings for both. Install any missing required tools and libraries.
Не удается открыть файл "К:\програм.ОБЖ"
Чтобы устранить эту проблему для сборок из командной строки, проверьте параметры параметра /libpath . Также проверьте пути, указанные в переменной среды LIB, и пути, указанные в командной строке. Обязательно используйте двойные кавычки для всех путей, содержащих пробелы.
Чтобы устранить эту проблему в интегрированной среде разработки, при необходимости добавьте двойные кавычки для следующих свойств проекта:
свойство каталоги библиотеки на странице свойств конфигурации > VC++ каталоги
Свойство " Дополнительные каталоги библиотек " на странице свойств " Общие" компоновщика > свойств > конфигурации
Свойство Дополнительные зависимости на странице свойств входных данных компоновщика > свойств > конфигурации .
Problems in the TMP environment variable
If the filename is named LNKnnn, it's a filename generated by the linker for a temporary file. The directory specified in the TMP environment variable may not exist. Or, more than one directory may be specified for the TMP environment variable. Only one directory path should be specified for the TMP environment variable.
Не удается открыть файл библиотеки Майкрософт
Неправильные разрешения для файла
Эта ошибка может возникать, если у вас недостаточно разрешений для доступа к файлу filename. Это может произойти, если для доступа к файлам библиотеки в защищенных системных каталогах используется обычная учетная запись пользователя. Или, если вы используете файлы, скопированные с других пользователей, у которых все еще есть исходный набор разрешений. Чтобы устранить эту проблему, переместите файл в каталог проекта с возможностью записи. Если перемещенный файл имеет недоступные разрешения, выполните команду takeown.exe в окне командной строки администратора, чтобы стать владельцем файла.
Параллельная синхронизация сборок
если вы используете параллельный вариант сборки, Visual Studio мог заблокировать файл в другом потоке. Чтобы устранить эту проблему, убедитесь, что один и тот же объект кода или библиотека не встроены в несколько проектов. Используйте зависимости сборки или ссылки проекта, чтобы выбрать в проекте созданные двоичные файлы.
Другие распространенные проблемы
Дополнительные зависимости, указанные в интегрированной среде разработки
При указании отдельных библиотек в свойстве Дополнительные зависимости используйте пробелы для разделения имен библиотек. Не используйте запятые или точки с запятой. При использовании пункта меню Правка для открытия диалогового окна Дополнительные зависимости используйте символы новой строки для разделения имен, а не запятых, точек с запятой или пробелов. Также используйте символы новой строки при указании путей к библиотекам в папках библиотек и дополнительных каталогах библиотек .
Can't open your app or its .pdb file
Недостаточно места на диске
Эта ошибка может возникать, если на диске недостаточно места. Компоновщик использует временные файлы в нескольких ситуациях. Даже если на диске достаточно места, большие ссылки могут выпустить или фрагментировать свободное место на диске. Рассмотрите возможность использования параметра /OPT (оптимизация) . выполнение транзитного исключения COMDAT считывает все объектные файлы несколько раз.
Приложение выполняется или загружается в отладчике
Если filename — имя исполняемого файла или связанный с ним PDB-файл, см. раздел Если приложение уже запущено. Затем проверьте, загружен ли он в отладчик. Чтобы устранить эту проблему, перед повторным созданием программы закройте программу и выгрузите ее из отладчика. Если приложение открыто в другой программе, например в редакторе ресурсов, закройте его. Если программа не отвечает, может потребоваться завершить процесс с помощью диспетчера задач. Также может потребоваться закрыть и перезапустить Visual Studio.
обновленные библиотеки Windows SDK
Другие решения
Для тех, у кого такая же проблема с Visual Studio 2015 в Windows 10, это может быть связано с тем, что установка была прервана. Если это так, просто запустите программу установки, чтобы сделать «Ремонт».
Также может быть хорошей идеей установить RC версии Visual Studia 2015 Update 1.
Это сработало для меня …
В Visual Studio 2017 (Community Edition) я решил эту проблему, переключив версию Windows SDK в свойствах проекта с 10.0.10586.0 на 10.0.16299.0 (это версия, которую я установил на своем компьютере).
- В Visual Studio перейдите в свойства проекта:
Я нахожусь на Windows 8.1 Visual Studio 2017 Professional, и он начал работать после переключения свойств проекта версии Windows SDK на 8.1, сборки, затем переключите его обратно на 10.0.16299.0.
Я пытался скомпилировать пример проекта CUDA.
Это сработало, не спрашивайте меня, почему. Возможно, это как-то связано с тем, что у меня Visual Studio Community 2017, а затем я удалил его, чтобы установить профессионала.
Из того, что я понимаю, вы не определили путь вашей библиотеки.
Щелкните правой кнопкой мыши на Project -> Properties
В разделе «Свойства конфигурации» на вкладке «Компоновщик» выберите «Общие» в разделе «Дополнительные каталоги библиотек». Выберите путь к gdi32.lib:
Затем перейдите к вход вкладка (ниже на генеральный вкладка).
Дважды щелкните или выберите изменить, чтобы добавить gdi32.lib:
Наконец добавьте ваш «gdi32.lib» и нажмите Хорошо .
Кстати, в Visual Studio 2013 Ultimate Edition по умолчанию он имеет gdi32.lib.
Я надеюсь, что это решит вашу проблему.
Если вы переместили код с другого компьютера, возможно, он использует неправильный SDK на вашей платформе. Проверьте свойства проекта → генеральный → Версия Windows SDK и установите его на что-то, показанное в списке.
Чтобы решить эту проблему, вам нужно найти папку, содержащую gdi32.lib файл.
Для моей системы я нашел это в C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\um\x86 ,
Просто добавьте его в список свойств вашего проекта. Как описано в других постах, меню проект → свойства затем каталоги VC ++. Добавьте путь вверху.
your program is already running or is loaded in the debugger, and
your library paths are incorrect, or aren't wrapped in double-quotes.
There are many other possible causes for this error. To narrow them down, first check what kind of file filename is. Then, use the following sections to help identify and fix the specific issue.
Windows библиотеки, например kernel32. lib
Если файл, который не удается открыть, является одним из стандартных файлов библиотеки, предоставляемых корпорацией Майкрософт, например kernel32. lib, может возникнуть ошибка конфигурации проекта или ошибка установки. убедитесь, что Windows SDK установлен. если для проекта требуются другие библиотеки майкрософт, такие как MFC, убедитесь, что компоненты MFC также установлены установщиком Visual Studio. Вы можете снова запустить установщик, чтобы добавить дополнительные компоненты в любое время. Дополнительные сведения см. в Изменение Visual Studio. Используйте вкладку отдельные компоненты в установщике, чтобы выбрать конкретные библиотеки и пакеты SDK.
Библиотеки vcruntime с отслеживанием версий
Справка, моей проблемы нет в списке!
Эта ошибка возникает, когда компоновщику не удается открыть файл для чтения или записи. Ниже перечислены две наиболее распространенные причины этой проблемы.
Программа уже запущена или загружена в отладчике, и
пути к библиотеке неверны или не заключены в двойные кавычки.
Существует множество других возможных причин этой ошибки. Чтобы сократить их, сначала проверьте Тип файла. Затем используйте следующие разделы для выявления и исправления конкретной проблемы.
Библиотека vccorlib. lib
Libraries in projects from online or other sources
If you build a project copied from another computer, the library installation locations may be different. For command-line builds, verify the LIB environment variable and library paths are set correctly for the build. In Visual Studio, you can see and edit the current library paths set in the Property pages for your project. In the VC++ Directories page, choose the drop-down control for the Library Directories property, then choose Edit. The Evaluated value section of the Library Directories dialog lists the current paths searched for library files. Update these paths to point to your local libraries.
Не удается открыть файл, созданный проектом
Эта ошибка может возникать, если файл filename еще не существует, когда компоновщик пытается получить к нему доступ. Это может произойти, когда один проект зависит от другого в решении, но проекты создаются в неправильном порядке. Чтобы устранить эту проблему, убедитесь, что ссылки проекта заданы в проекте, который использует этот файл. После этого отсутствующий файл будет создан до того, как он потребуется. дополнительные сведения см. в статьях добавление ссылок в проекты Visual Studio C++ и управление ссылками в проекте.
Библиотека vccorlib. lib
Insufficient disk space
The error can occur when you don't have enough disk space. The linker uses temporary files in several cases. Even if you have sufficient disk space, a large link can deplete or fragment the available disk space. Consider using the /OPT (Optimizations) option; doing transitive COMDAT elimination reads all the object files multiple times.
Слишком большие файлы
Эта ошибка может возникать из-за слишком большого размера файла. Библиотеки или объектные файлы, размер которых превышает гигабайт, может вызвать проблемы для 32-разрядного компоновщика. Возможным исправлением этой проблемы является использование 64-разрядного набора инструментов. Дополнительные сведения о том, как использовать 64-разрядный набор средств в командной строке, см. в разделе как включить 64-разрядный Visual C++ набор инструментов в командной строке. сведения о том, как использовать 64-разрядный набор инструментов в интегрированной среде разработки, см. в разделе использование MSBuild с 64-разрядным компилятором и инструментами. также см. статью Stack Overflow post: как сделать Visual Studio использовать собственную цепочки инструментов amd64.
Недостаточно места на диске
Эта ошибка может возникать, если на диске недостаточно места. Компоновщик использует временные файлы в нескольких ситуациях. Даже если на диске достаточно места, большие ссылки могут выпустить или фрагментировать свободное место на диске. Рассмотрите возможность использования параметра /OPT (оптимизация) . выполнение транзитного исключения COMDAT считывает все объектные файлы несколько раз.
Справка, моей проблемы нет в списке!
Короче выдает мне Студия 2010 Вот такую ошибку - Не удается открыть файл glut32.lib
файлы кидал по этим папкам :
dll - C:\Windows\System32
.lib - C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\IA64
.h - C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\gl
Помогите а то я уже голову сломал
Вот исходник :
Ошибка с подключением вложенных библиотек
Создаю в Qt Creator, но думаю, что проблема не в нём. Создаю статическую библиотеку lib1 в Qt.
-.lib нужно кидать в папку:
. /*Здесь папка, где установлена VS10*/VC/lib/
p.s. лично я .lib вообще не включаю, их glut.h включает автоматом (это я о коде программы)
-.lib нужно кидать в папку:
. /*Здесь папка, где установлена VS10*/VC/lib/
p.s. лично я .lib вообще не включаю, их glut.h включает автоматом (это я о коде программы)
.
Да что ж тут думать-то, если вам все равно что это за файл, и где он находится!
Сделайте как я - киньте .dll файл в папку VC, include и lib
Ну и в системную папку, конечно
.
Да что ж тут думать-то, если вам все равно что это за файл, и где он находится!
Сделайте как я - киньте .dll файл в папку VC, include и lib
Ну и в системную папку, конечно
Кинул во все эти папки и все равно тоже самое. может проект не такой создаю Консольное приложение win32 .
Подключи либы:
winmm.lib
gdi32.lib
Добавлено через 3 минуты
.
Сделайте как я - киньте .dll файл в папку VC, include и lib
Ну и в системную папку, конечно
Должно работать :)
Ахах, рабочий вариант. jokingly: Да еще разложи glut32.dll вокруг exeшника и постучи в барабан:D
Добавлено через 8 минут
У меня кстати твоя программа сразу заработала в devC++
Подключи либы:
winmm.lib
gdi32.lib
Добавлено через 3 минуты
Ахах, рабочий вариант. jokingly: Да еще разложи glut32.dll вокруг exeшника и постучи в барабан:D
в проге подключил , но все равно тоже самое, может dll кривое .
devC++ извини туплю наверное но что это?))))
в проге подключил , но все равно тоже самое, может dll кривое .
devC++ извини туплю наверное но что это?))))
Versioned vcruntime libraries
If the error message has a versioned Microsoft library such as msvcr120.lib, the platform toolset for that compiler version may not be installed. To fix this issue, you have two options: Upgrade the project to use the current platform toolset, or install the older toolset and build the project unchanged. For more information, see Upgrading Projects from Earlier Versions of Visual C++ and Use native multi-targeting in Visual Studio to build old projects.
Не удается открыть файл, созданный проектом
Эта ошибка может возникать, если файл filename еще не существует, когда компоновщик пытается получить к нему доступ. Это может произойти, когда один проект зависит от другого в решении, но проекты создаются в неправильном порядке. Чтобы устранить эту проблему, убедитесь, что ссылки проекта заданы в проекте, который использует этот файл. После этого отсутствующий файл будет создан до того, как он потребуется. дополнительные сведения см. в статьях добавление ссылок в проекты Visual Studio C++ и управление ссылками в проекте.
The vccorlib.lib library
There are no Spectre-mitigated libraries for Universal Windows (UWP) apps or components. If the error message includes vccorlib.lib, you may have enabled /Qspectre in a UWP project. Disable the /Qspectre compiler option to fix this issue. In Visual Studio, change the Spectre Mitigation property. It's found in the C/C++ > Code Generation page of the project Property Pages dialog.
Проблемы с путями или именами файлов
Path or filename issues
Can't open file 'C:\Program.obj'
If you see the filename C:\Program.obj in the error message, wrap your library paths in double quotes. This error happens when an unwrapped path that begins with C:\Program Files gets passed to the linker. Unwrapped paths may also cause similar errors. Typically, they show an unexpected .obj file in the root of your drive.
To fix this issue for command-line builds, check the /LIBPATH option parameters. Also check the paths specified in the LIB environment variable, and the paths specified on the command line. Make sure to use double-quotes around any paths that include spaces.
To fix this issue in the IDE, add double-quotes as necessary to the following properties for your project:
The Library Directories property on the Configuration Properties > VC++ Directories property page,
The Additional Library Directories property in the Configuration Properties > Linker > General property page,
The Additional Dependencies property in the Configuration Properties > Linker > Input property page.
Windows libraries, such as kernel32.lib
If the file that can't be opened is one of the standard library files provided by Microsoft, such as kernel32.lib, you may have a project configuration error or an installation error. Verify the Windows SDK has been installed. If your project requires other Microsoft libraries, such as MFC, make sure the MFC components were also installed by the Visual Studio installer. You can run the installer again to add optional components at any time. For more information, see Modify Visual Studio. Use the Individual components tab in the installer to choose specific libraries and SDKs.
Слишком длинные пути
Эта ошибка может появиться, когда путь к файлу расширяется до 260 символов. При необходимости измените структуру каталогов или Сократите имена папок и файлов, чтобы сократить пути.
Приложение выполняется или загружается в отладчике
Если filename — имя исполняемого файла или связанный с ним PDB-файл, см. раздел Если приложение уже запущено. Затем проверьте, загружен ли он в отладчик. Чтобы устранить эту проблему, перед повторным созданием программы закройте программу и выгрузите ее из отладчика. Если приложение открыто в другой программе, например в редакторе ресурсов, закройте его. Если программа не отвечает, может потребоваться завершить процесс с помощью диспетчера задач. Также может потребоваться закрыть и перезапустить Visual Studio.
Не удается открыть сторонний файл библиотеки
Существует несколько распространенных причин этой проблемы.
Путь к файлу библиотеки может быть неверным или не заключен в двойные кавычки. Или, возможно, вы не указали его для компоновщика.
Возможно, вы установили 32-разрядную версию библиотеки, но при этом собираетесь на 64 бит или наоборот.
Библиотека может зависеть от других библиотек, которые не установлены.
Может потребоваться предоставить каталог библиотеки, переопределяющий каталог стандартной библиотеки. В командной строке используйте параметр /libpath . В интегрированной среде разработки используйте свойство Дополнительные каталоги библиотек на странице свойств " Общие" компоновщика > свойств > конфигурации для проекта.
Убедитесь, что установлены все версии библиотеки, необходимые для создаваемых конфигураций. воспользуйтесь программой управления пакетами vcpkg , чтобы автоматизировать установку и настройку для многих распространенных библиотек. По возможности лучше создавать собственные копии сторонних библиотек. Затем вы убедитесь, что все локальные зависимости библиотек созданы для тех же конфигураций, что и ваш проект.
Параллельная синхронизация сборок
если вы используете параллельный вариант сборки, Visual Studio мог заблокировать файл в другом потоке. Чтобы устранить эту проблему, убедитесь, что один и тот же объект кода или библиотека не встроены в несколько проектов. Используйте зависимости сборки или ссылки проекта, чтобы выбрать в проекте созданные двоичные файлы.
Библиотеки для розничной торговли, отладки или конкретной платформы
Эта ошибка может возникнуть при первой сборке для новой целевой платформы или конфигурации, например в розничной торговле или ARM64. в интегрированной среде разработки проверьте, установлены ли набор инструментов платформы и Windows SDK версии , указанной на странице свойств общие . также убедитесь, что необходимые библиотеки доступны в каталогах библиотек , указанных на странице свойств каталоги VC++. Проверьте свойства каждой конфигурации, например Debug, Retail, x86 или ARM64. Если одна сборка работает, но другая нет, Сравните параметры обоих параметров. Установите все отсутствующие необходимые инструменты и библиотеки.
Библиотеки в проектах из сетевых или других источников
При построении проекта, скопированного с другого компьютера, расположения установки библиотеки могут отличаться. Для сборок из командной строки убедитесь, что для сборки правильно заданы пути к переменной среды LIB и библиотеке. в Visual Studio можно просмотреть и изменить текущие пути к библиотекам, заданные на страницах свойств проекта. на странице VC++ каталоги выберите элемент управления "раскрывающийся список" для свойства каталоги библиотек , а затем нажмите кнопку изменить. В разделе вычисленное значение диалогового окна каталоги библиотек перечислены текущие пути поиска файлов библиотек. Обновите эти пути, чтобы они указывали на локальные библиотеки.
Библиотеки в проектах из сетевых или других источников
При построении проекта, скопированного с другого компьютера, расположения установки библиотеки могут отличаться. Для сборок из командной строки убедитесь, что для сборки правильно заданы пути к переменной среды LIB и библиотеке. в Visual Studio можно просмотреть и изменить текущие пути к библиотекам, заданные на страницах свойств проекта. на странице VC++ каталоги выберите элемент управления "раскрывающийся список" для свойства каталоги библиотек , а затем нажмите кнопку изменить. В разделе вычисленное значение диалогового окна каталоги библиотек перечислены текущие пути поиска файлов библиотек. Обновите эти пути, чтобы они указывали на локальные библиотеки.
Не удается открыть файл "К:\програм.ОБЖ"
Чтобы устранить эту проблему для сборок из командной строки, проверьте параметры параметра /libpath . Также проверьте пути, указанные в переменной среды LIB, и пути, указанные в командной строке. Обязательно используйте двойные кавычки для всех путей, содержащих пробелы.
Чтобы устранить эту проблему в интегрированной среде разработки, при необходимости добавьте двойные кавычки для следующих свойств проекта:
свойство каталоги библиотеки на странице свойств конфигурации > VC++ каталоги
Свойство " Дополнительные каталоги библиотек " на странице свойств " Общие" компоновщика > свойств > конфигурации
Свойство Дополнительные зависимости на странице свойств входных данных компоновщика > свойств > конфигурации .
Проблемы в переменной среды TMP
Если имя файла LNKnnn, то это имя файла, созданного компоновщиком для временного файла. Каталог, указанный в переменной среды TMP, может не существовать. Кроме того, для переменной среды TMP может быть задано несколько каталогов. Для переменной среды TMP должен быть указан только один путь к каталогу.
Не удается открыть приложение или его PDB-файл
Paths that are too long
You may see this error when the path for filename expands to more than 260 characters. If needed, rearrange your directory structure or shorten your folder and file names to shorten the paths.
Files that are too large
This error can occur because the file is too large. Libraries or object files more than a gigabyte in size may cause problems for the 32-bit linker. A possible fix for this issue is to use the 64-bit toolset. For more information on how to use the 64-bit toolset at the command line, see How to: Enable a 64-Bit Visual C++ Toolset on the Command Line. For information on how to use the 64-bit toolset in the IDE, see Using MSBuild with the 64-bit Compiler and Tools. Also see this Stack Overflow post: How to make Visual Studio use the native amd64 toolchain.
Дополнительные зависимости, указанные в интегрированной среде разработки
При указании отдельных библиотек в свойстве Дополнительные зависимости используйте пробелы для разделения имен библиотек. Не используйте запятые или точки с запятой. При использовании пункта меню Правка для открытия диалогового окна Дополнительные зависимости используйте символы новой строки для разделения имен, а не запятых, точек с запятой или пробелов. Также используйте символы новой строки при указании путей к библиотекам в папках библиотек и дополнительных каталогах библиотек .
Additional dependencies specified in the IDE
When you specify individual libraries in the Additional Dependencies property directly, use spaces to separate the library names. Don't use commas or semicolons. If you use the Edit menu item to open the Additional Dependencies dialog box, use newlines to separate the names, not commas, semicolons, or spaces. Also use newlines when you specify library paths in the Library Directories and Additional Library Directories dialog boxes.
Решение
Если у кого-то есть такая проблема в Visual Studio 2017, это проблема обновления Windows 10 Creators.
Обходной путь — выбрать «Windows 10 SDK (10.0.15063.0) для рабочего стола C ++ x86 и x64» в рабочей нагрузке «Разработка рабочего стола с C ++» в установщике Visual Studio.
обновленные библиотеки Windows SDK
Приложение заблокировано антивирусным сканированием
Антивирусные программы часто временно блокируют доступ к вновь созданным файлам, особенно .exe и .dll исполняемые файлы. Чтобы устранить эту проблему, попробуйте исключить каталоги сборки проекта из антивирусного сканера.
Other common issues
Your app is running, or it's loaded in the debugger
When filename is your executable's name, or an associated .pdb file, see if your application is already running. Then check whether it's loaded in a debugger. To fix this issue, stop the program and unload it from the debugger before building it again. If the app is open in another program, such as a resource editor, close it. If your program is unresponsive, you may need to use Task Manager to end the process. You might also need to close and restart Visual Studio.
Не удается открыть приложение или его PDB-файл
Windows библиотеки, например kernel32. lib
Если файл, который не удается открыть, является одним из стандартных файлов библиотеки, предоставляемых корпорацией Майкрософт, например kernel32. lib, может возникнуть ошибка конфигурации проекта или ошибка установки. убедитесь, что Windows SDK установлен. если для проекта требуются другие библиотеки майкрософт, такие как MFC, убедитесь, что компоненты MFC также установлены установщиком Visual Studio. Вы можете снова запустить установщик, чтобы добавить дополнительные компоненты в любое время. Дополнительные сведения см. в Изменение Visual Studio. Используйте вкладку отдельные компоненты в установщике, чтобы выбрать конкретные библиотеки и пакеты SDK.
Can't open a file built by your project
You may see this error if filename doesn't exist yet when the linker tries to access it. It can happen when one project depends on another in the solution, but the projects build in the wrong order. To fix this issue, make sure your project references are set in the project that uses the file. Then the missing file gets built before it's required. For more information, see Adding references in Visual Studio C++ projects and Managing references in a project.
Parallel build synchronization
If you're using a parallel build option, Visual Studio may have locked the file on another thread. To fix this issue, verify the same code object or library isn't built in multiple projects. Use build dependencies or project references to pick up built binaries in your project.
Читайте также: