2525 / 1751 / 152 Регистрация: 11.08.2012 Сообщений: 3,349 |
|
1 |
|
27.08.2012, 11:06. Показов 19322. Ответов 63
Доброго времени суток. Пишу программу с DirectX и столкнулся с проблемой: код нормально компилируется, но после вылезает ошибка
0 |
4978 / 3085 / 456 Регистрация: 10.11.2010 Сообщений: 11,164 Записей в блоге: 10 |
|
27.08.2012, 11:17 |
2 |
Писать надо так:
#pragma comment( lib, «d3dx9.lib» )
0 |
2525 / 1751 / 152 Регистрация: 11.08.2012 Сообщений: 3,349 |
|
27.08.2012, 11:20 [ТС] |
3 |
Писать надо так: Это я в сообщении по привычке .h поставил. В проекте ровно так, как вы указали. Так что проблема не в этом.
0 |
Делаю внезапно и красиво 1312 / 1227 / 72 Регистрация: 22.03.2011 Сообщений: 3,744 |
|
31.08.2012, 18:29 |
4 |
Пути к библиотеке прописал. Пути к библиотеке прописал ГДЕ? (это я тебе наводящий вопрос задаю)
0 |
2525 / 1751 / 152 Регистрация: 11.08.2012 Сообщений: 3,349 |
|
31.08.2012, 18:43 [ТС] |
5 |
Пути к библиотеке прописал ГДЕ? (это я тебе наводящий вопрос задаю) В свойствах проекта, C++, дополнительные каталоги включения. кст на d3d9.lib, подключенный таким же образом, компиллятор не ругается
0 |
Делаю внезапно и красиво 1312 / 1227 / 72 Регистрация: 22.03.2011 Сообщений: 3,744 |
|
31.08.2012, 19:18 |
6 |
А надо в настройки компоновщика пути до либов прописать, а не только до хэдэров в настройках компилятора.
0 |
2525 / 1751 / 152 Регистрация: 11.08.2012 Сообщений: 3,349 |
|
31.08.2012, 19:43 [ТС] |
7 |
Т.е. зайти в свойства -> свойства конфигурации -> компоновщик, а дальше смотреть -> ввод -> дополнительные зависимости? или как? если вы имеете ввиду первый вариант, то я его уже пробовал, не вышло. и ругается он конкретно на d3dx9.lib, а d3d9.lib подключает без вопросов.
0 |
555 / 509 / 25 Регистрация: 23.07.2009 Сообщений: 2,359 Записей в блоге: 1 |
|
31.08.2012, 20:00 |
8 |
ругается он конкретно на d3dx9.lib, а d3d9.lib подключает без вопросов. это как? как видно, что «без вопросов»?
0 |
2525 / 1751 / 152 Регистрация: 11.08.2012 Сообщений: 3,349 |
|
31.08.2012, 20:06 [ТС] |
9 |
это как? как видно, что «без вопросов»? У меня есть функция инициализации Direct3D для которой нужен d3d9.lib и эта функция компилируется нормально, без ошибок. А все, что связано с d3dx9.lib не работает и компилятор выдает LNK1104. Если убрать pragma comment, то выдает ошибку на неразрешенный внешний символ, т.е. нашел прототип функции, но не нашел определение
0 |
555 / 509 / 25 Регистрация: 23.07.2009 Сообщений: 2,359 Записей в блоге: 1 |
|
31.08.2012, 20:50 |
10 |
А все, что связано с d3dx9.lib не работает и компилятор выдает LNK1104. почему компилятор? эту ошибку выдает линкер.
0 |
2525 / 1751 / 152 Регистрация: 11.08.2012 Сообщений: 3,349 |
|
31.08.2012, 20:54 [ТС] |
11 |
почему компилятор? эту ошибку выдает линкер. Ваша правда. Извиняюсь.
0 |
4978 / 3085 / 456 Регистрация: 10.11.2010 Сообщений: 11,164 Записей в блоге: 10 |
|
31.08.2012, 21:01 |
12 |
Ну тогда показывай скрины и код.
0 |
2525 / 1751 / 152 Регистрация: 11.08.2012 Сообщений: 3,349 |
|
31.08.2012, 21:11 [ТС] |
13 |
Ну тогда показывай скрины и код. Ошибка не в коде, иначе бы не было LNK1104, проблема в том, что линкер не видит в упор d3dx9.lib
0 |
4978 / 3085 / 456 Регистрация: 10.11.2010 Сообщений: 11,164 Записей в блоге: 10 |
|
31.08.2012, 21:21 |
14 |
Ошибка не в коде, иначе бы не было LNK1104, проблема в том, что линкер не видит в упор d3dx9.lib Всякое бывает. Люди иногда сами говорят что в проблема в том-то.., а оказывается она совсем в другом.
0 |
555 / 509 / 25 Регистрация: 23.07.2009 Сообщений: 2,359 Записей в блоге: 1 |
|
01.09.2012, 01:42 |
15 |
линкер не может найти эту библиотеку. раскопируй ее во все директории, «вокруг твоего проекта». только не сразу, а сперва на уровень выше — попробовал, на уровень ниже — попробовал. и т.д. в конце-концов он ее найдет. тогда и поймешь, где он ищет (читать и разбираться ведь некогда? значит, нужно запастись терпением: два дня работы в поле могут сэкономить два часа в библиотеке или в лаборатории). или, если ты на диске c: работаешь, скопируй ее в корень и укажи c:d3dx9.lib. сходу найдет и присобачит.
0 |
4978 / 3085 / 456 Регистрация: 10.11.2010 Сообщений: 11,164 Записей в блоге: 10 |
|
01.09.2012, 01:48 |
16 |
novi4ok, это плохой вариант. ТС давно бы решил проблему если бы делал так, как ему советуют. Думаю он просто где-то напутал. Показал бы скрины, код, и я думаю все сразу бы встало на свои места.
0 |
2525 / 1751 / 152 Регистрация: 11.08.2012 Сообщений: 3,349 |
|
01.09.2012, 05:58 [ТС] |
17 |
Я свои функции построил по примеру из книги Фленова, и с другими книгами сверялся. А также смотрел MSDN ну нет ошибки в коде, НЕТУ. Вы мне лучше подскажите, почему линкер видит d3d9.lib, а d3dx9.lib, расположенный в той же папке и следующий почти сразу после d3d9.lib, не видит. А про корень C: еще посмотрю
0 |
Делаю внезапно и красиво 1312 / 1227 / 72 Регистрация: 22.03.2011 Сообщений: 3,744 |
|
01.09.2012, 07:08 |
18 |
2 |
2525 / 1751 / 152 Регистрация: 11.08.2012 Сообщений: 3,349 |
|
01.09.2012, 07:31 [ТС] |
19 |
ура! заработало спс Deviaphan это реально помогло. А почему в книге про это не упоминается даже, хотя она под VC++ написана Добавлено через 3 минуты Не по теме: теперь смогу дальше двигаться, мне DirectX нужен чтобы нарисовать график функции 2-х пременных
0 |
Делаю внезапно и красиво 1312 / 1227 / 72 Регистрация: 22.03.2011 Сообщений: 3,744 |
|
01.09.2012, 07:54 |
20 |
А почему Потому что подразумевается, что программист уже в достаточной степени знаком с компилятором. То, что там написано «с нуля» или «для чайников» это исключительно маркетинговый ход.
0 |
|
Authenticator Code |
Thread Tools |
LINK 1104: cannot open file ‘d3dx9.lib’ |
|
#1 |
raprap n00bie Join Date: Nov 2010
Reputation: -276 |
anyone can help me, im try to compile my project, but there is error LINK : fatal error LNK1104: cannot open file ‘d3dx9.lib’ |
raprap is offline |
|
#2 |
|||||||||||
SEGnosis Hacked North Korea Join Date: Mar 2009
Reputation: 25708 Recognitions Points: 90,129, Level: 43 Level up: 68%, 1,471 Points needed Activity: 0% Last Achievements |
holy shit, ive never seen this error before. __________________ |
|||||||||||
SEGnosis is offline |
|
#3 |
|||||||||||
TIGERHax . Join Date: Mar 2010 Location: .
Reputation: 31625 Recognitions (1) Points: 69,843, Level: 38 Level up: 92%, 357 Points needed Activity: 2.8% Last Achievements |
i think you cant read. __________________ . |
|||||||||||
TIGERHax is offline |
|
#4 |
|||||||||||
Kiwinz Hacked North Korea Join Date: Jan 2008
Reputation: 13365 Recognitions (2) Points: 34,539, Level: 28 Level up: 27%, 1,761 Points needed Activity: 1.4% Last Achievements |
Save you 5 seconds http://www.unknowncheats.me/forum/pr…d-directx.html Please use the search button to save yourself time of having to wait when the answer is easily found. |
|||||||||||
Kiwinz is offline |
Similar Threads |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
[Help] You do not have permission to open this file. | solarairhead | Forum General | 4 | 10th July 2012 02:39 PM |
[Help] Error: cannot open source file | camsterguy | All Points Bulletin | 12 | 26th January 2012 12:10 PM |
[Help] LINK: fatal error LNK1181: input file «. Libs XInterface.lib» can not be opened. | NetzTeil | America’s Army Operations 3.x | 1 | 17th July 2011 04:59 PM |
[Help] Error d3dx9.h | OmGCrash | Direct3D | 1 | 16th June 2011 04:47 PM |
[Question] No such file or directory d3dx9.h | xxchucki | Direct3D | 7 | 5th November 2010 10:18 PM |
Tags |
d3dx9lib, file, link, open |
«
Previous Thread
|
Next Thread
»
Forum Jump |
All times are GMT. The time now is 09:03 PM.
Contact Us —
Toggle Dark Theme
Terms of Use Information Privacy Policy Information
Copyright ©2000-2023, Unknowncheats� UKCS #312436
no new posts
Я создал новый проект C++ в Visual Studio 2008. Код еще не написан, изменены только настройки проекта.
когда я компилирую проект, я получаю следующую фатальную ошибку:
фатальная ошибка LNK1104: не удается открыть файл ‘C:Program.obj’
2416
19
19 ответов:
эта конкретная проблема вызвана указанием зависимости для файла lib, который имел пробелы в своем пути. Путь должен быть окружен кавычками для правильной компиляции проекта.
на Свойства Конфигурации -> Компоновщик -> Ввод вкладка свойств проекта, есть Дополнительные Зависимости собственность. Эта проблема была исправлена путем изменения этого свойства:
C:Program файлыпрограммное обеспечение
sdklib библиотека.ЛибTo:
» C:Program файлыпрограммное обеспечение
sdklib библиотека.lib»где я добавил кавычки.
Это может произойти, если файл все еще работает.
:-1: ошибка: LNK1104: не удается открыть файл ‘ debug****.exe’
проблема ушла для меня после закрытия и повторного открытия Visual Studio. Не знаю, почему возникла проблема, но это может быть стоит попробовать.
Это было на VS 2013 Ultimate, Windows 8.1.
проверьте также, что вы не включили это: свойства конфигурации -> C / C++ — > препроцессор -> предварительная обработка файла.
У меня было то же самое problem.It вызвано символом», » в имени папки дополнительной библиотеки path.It решается путем изменения дополнительного пути к библиотеке.
моя проблема была отсутствует
.lib
расширение, я просто связывал противmylib
и ВС решил искатьmylib.obj
.
в моем случае это был вопрос неправильной ссылки. Проект ссылался на вывод другого проекта, но последний не выводил файл, где первый искал.
для сборки проекта (название проекта -> построение зависимостей -> сборки настройки -> компилятор MASM (некоторые)), задание Создать Предварительно Обработанный Список Источников до True вызвал проблему и для меня, очистив настройку, исправил ее. VS2013 здесь.
Я сталкиваюсь с той же проблемой, когда компоновщик жалуется на отсутствие основного исполняемого файла. Это произошло во время нашего порта решения для нового Visual Studio 2013. Решение представляет собой разнообразное сочетание управляемых и неуправляемых проектов / кода. Проблема (и исправить) в конечном итоге отсутствует приложение.конфигурации файл в папке решения. Потребовался день, чтобы понять это: (, поскольку выходной журнал был не очень полезен.
у меня была та же ошибка, только с пакетом Nuget, который я установил (тот, который не является только заголовком), а затем попытался удалить.
Что было неправильно для меня, так это то, что я все еще включал заголовок для пакета, который я только что удалил в одном из моих .cpp файлы (довольно глупо, да).
Я даже удалил дополнительную ссылку на каталоги библиотеки вProject -> Properties -> Linker -> General
, но, конечно, безрезультатно, так как я все еще пытался ссылаться на несуществующий заголовок.определенно сбивает с толку сообщение об ошибке в этом случае, так как имя заголовка
<boost/filesystem.hpp>
но ошибка дала мне"cannot open file 'llibboost_filesystem-vc140-mt-gd-1_59.lib'"
и никаких номеров строк или чего-то еще.
Я отвечаю, потому что я не вижу это конкретное решение, перечисленное кем-либо еще.
по-видимому, мой антивирус (Ad-Aware) отмечал DLL, от которой зависит один из моих проектов, и удалял его. Даже после исключения каталога, где живет DLL, то же самое поведение продолжалось до тех пор, пока я не перезагрузил компьютер.
У меня была та же проблема, но решение для моего случая не указано в ответах.
Моя антивирусная программа (AVG) определила файлMyProg.exe
как вирус и положить его в «хранилище вирусов». Вам нужно проверить этот склад, и если файл есть — то просто восстановить его. Это меня выручило.
Решение 1 (для моего случая): перезапустите процесс Проводника windows (да, диспетчер файлов windows).
решение 2:
- Закрыть Visual Studio. Выход Из Системы Windows
- вход в систему, откройте Visual Studio
- построить как обычно. Теперь он строит и может получить доступ к проблемному файлу.
Я предполагаю, что иногда файловая система или тот, кто ее контролирует, теряется с ее разрешениями. Перед перезапуском сеанса windows, пытался убить зомби
msbuild32.exe
процессы, перезагрузите visual studio, не проверяйте даже отображение файла проблемы. Нет проблем с конфигурацией сборки. Это случается время от времени. Некоторые внутренние вещи в Windows не исправляются,требуется перезагрузка.
в моем случае Я заменил файлы математической библиотеки из предыдущего графического курса игрового движка на GLM. Проблема заключалась в том, что я не добавил их в проект в обозревателе решений Visual Studio (даже если они были в репозитории проекта).
У меня была эта проблема в сочетании с ошибкой LNK2038, а затем это post для разделения библиотеки DLL выпуска и отладки. В этом процессе я очистил всю папку, в которой находились эти зависимости.
к счастью, у меня была резервная копия всех этих файлов, и я получил файл, для которого эта ошибка отбрасывала обратно в папку отладки, чтобы решить проблему. Код ошибки вводил в заблуждение каким-то образом, поскольку мне пришлось потратить много времени, чтобы прийти к этому совету от одного из ответов с этого поста снова.
надеюсь, что этот ответ, помогает кому-то в нужде.
Я решил это с помощью добавлять an существующий проектto мой решение, который я забыл добавить в первый раз.
у меня была та же ошибка:
fatal error LNK1104: cannot open file 'GTest.lib;'
Это было вызвано
;
в конце. Если у вас есть несколько библиотек, они должны быть разделены пустым пространством (пробел), без запятой или точки с запятой!Так что не используйте
;
или что-нибудь еще при перечислении библиотек в свойства проекта > > свойства конфигурации > > Компоновщик > > ввод
У меня была такая же проблема , я просто скопировал код в новый проект и начали строить .
Некоторые другие ошибки начали приходить.
ошибка C4996:’ fopen’: эта функция или переменная может быть небезопасной. Рассмотрите возможность использования fopen_s вместоснова решить эту проблему, я добавил свое одно свойство в проект, как показано ниже.
Проект — > свойства — > свойство конфигурации — > c/c++ .
В этой категории есть поле Имя препроцессора определения
Я добавил _CRT_SECURE_NO_WARNINGS это для решения проблемы
Надеюсь, это поможет …Спасибо