Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / stdafx и вложенные подпапки / 16 сообщений из 16, страница 1 из 1
15.07.2018, 21:57
    #39674254
Котовасия
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
stdafx и вложенные подпапки
MS VS 2017 (ce).

В опциях проекта указано:

Предварительный откомпилированный заголовок: Использовать (/Yu) (или Создавать /Yc ).
Предварительно скомпилированный заголовочный файл: stdafx.h
Предварительно скомпилированный заголовочный выходной файл: $(IntDir)$(TargetName).pch
...
То есть, каждый .cpp файл проекта должен содержать строку
Код: plaintext
1.
#include "stdafx.h"



Все хорошо, все понятно. Непонятно вот что. Создаю группу исходников, физически расположенных во вложенной (по отношению к другим исходниками проекта) подпапке. В каждый .cpp файл добавляю

Код: plaintext
1.
#include "\..stdafx.h"


- получаю сообщение. что в .cpp файле должна присутствовать строчка:
Код: plaintext
1.
#include "stdafx.h"


Если вместо
Код: plaintext
1.
#include "\..stdafx.h"


пишу
Код: plaintext
1.
#include "stdafx.h"

- то получаю сообщение насчет того, что файл stdafx.h не найден (что тоже правильно: этот файл находится на уровне выше).
...
Посоветуйте, что подкрутить.

Спасибо.
...
Рейтинг: 0 / 0
15.07.2018, 22:08
    #39674255
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
stdafx и вложенные подпапки
Котовасия"\..stdafx.h

Где тебя учили так указывать путь?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
15.07.2018, 22:54
    #39674260
Котовасия
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
stdafx и вложенные подпапки
Dimitry Sibiryakov,

ну ладно чё ты, не понял, что ли. Я на коленке, со смартфона сейчас писал.
...
Рейтинг: 0 / 0
15.07.2018, 23:02
    #39674263
d7i
d7i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
stdafx и вложенные подпапки
Пробуй
#include <stdafx.h>
...
Рейтинг: 0 / 0
16.07.2018, 00:17
    #39674274
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
stdafx и вложенные подпапки
Котовасиячё ты, не понял, что ли

Я видел слишком много глупых ошибок чтобы что-то додумывать. Добавь ".." в список путей
для поиска инклудов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
16.07.2018, 07:21
    #39674319
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
stdafx и вложенные подпапки
ИМХО лучше отключи stdafx.h и удали все инклуды.
Предварительный откомпилированный заголовок: не использовать
...
Рейтинг: 0 / 0
17.07.2018, 07:31
    #39674783
Котовасия
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
stdafx и вложенные подпапки
Dima TИМХО лучше отключи stdafx.h и удали все инклуды.
Предварительный откомпилированный заголовок: не использовать
На данный момент я именно так и сделал, но мне это не нравится. :(

Еще можно часть исходников вынести за пределы списка файлов проекта.
Или все файлы исходников проекта ограничивать одним "плоским" каталогом.
Или разбить проект на несколько, по проекту на каталог.
Дичь какая-то, в общем.
...
Рейтинг: 0 / 0
17.07.2018, 07:44
    #39674789
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
stdafx и вложенные подпапки
КотовасияDima TИМХО лучше отключи stdafx.h и удали все инклуды.
Предварительный откомпилированный заголовок: не использовать
На данный момент я именно так и сделал, но мне это не нравится. :(
Не нравится то, что ты не сможешь добавить без правки готовый исходник в свой проект?
Большинство исходников, встречающихся в инете, не содержат #include "stdafx.h"

КотовасияЕще можно часть исходников вынести за пределы списка файлов проекта.
Или все файлы исходников проекта ограничивать одним "плоским" каталогом.
Или разбить проект на несколько, по проекту на каталог.
Дичь какая-то, в общем.
Проблема то в чем? Раскладывай по каталогам как тебе удобно.
Пути в инклюдах задаются относительно файла в котором путь пишешь.
".." это каталог уровнем выше.
"\" надо писать "\\", это специфика С, а лучше писать "/"
Например если файл в каталоге уровнем выше, то
Код: plaintext
1.
#include "../stdafx.h"
...
Рейтинг: 0 / 0
17.07.2018, 11:32
    #39674911
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
stdafx и вложенные подпапки
КотовасияDima TИМХО лучше отключи stdafx.h и удали все инклуды.
Предварительный откомпилированный заголовок: не использовать
На данный момент я именно так и сделал, но мне это не нравится. :(

Зря. Это очень хороший подход для новичков.
...
Рейтинг: 0 / 0
17.07.2018, 17:51
    #39675205
Котовасия
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
stdafx и вложенные подпапки
Dima TКотовасияпропущено...

На данный момент я именно так и сделал, но мне это не нравится. :(
Не нравится то, что ты не сможешь добавить без правки готовый исходник в свой проект?
Большинство исходников, встречающихся в инете, не содержат #include "stdafx.h"

КотовасияЕще можно часть исходников вынести за пределы списка файлов проекта.
Или все файлы исходников проекта ограничивать одним "плоским" каталогом.
Или разбить проект на несколько, по проекту на каталог.
Дичь какая-то, в общем.
Проблема то в чем? Раскладывай по каталогам как тебе удобно.
Пути в инклюдах задаются относительно файла в котором путь пишешь.
".." это каталог уровнем выше.
"\" надо писать "\\", это специфика С, а лучше писать "/"
Например если файл в каталоге уровнем выше, то
Код: plaintext
1.
#include "../stdafx.h"


Дело не в пути к инклюду, с этим все в порядке. Дело в том, что MS VS требует, чтобы при включенной опции "использовать прекомпайлед хидер файл.h", в сср файлах приутствовал инклюду именно в такой форме:

Код: plaintext
1.
#include "файл.h"

, без указания пути в любой форме.
...
Рейтинг: 0 / 0
17.07.2018, 18:15
    #39675213
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
stdafx и вложенные подпапки
КотовасияДело в том, что MS VS требует, чтобы при включенной опции "использовать прекомпайлед хидер файл.h", в сср файлах приутствовал инклюду именно в такой форме:
Код: plaintext
1.
#include "файл.h"

, без указания пути в любой форме.добавь каталог, где лежит stdafx.h в additional directories проекта и будет тебе щастье)
...
Рейтинг: 0 / 0
17.07.2018, 22:56
    #39675303
Котовасия
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
stdafx и вложенные подпапки
egorychКотовасияДело в том, что MS VS требует, чтобы при включенной опции "использовать прекомпайлед хидер файл.h", в сср файлах приутствовал инклюду именно в такой форме:
Код: plaintext
1.
#include "файл.h"


, без указания пути в любой форме.добавь каталог, где лежит stdafx.h в additional directories проекта и будет тебе щастье)
Да, точно. Добавил в Каталоги С++ -> Включаемые каталоги значение $(ProjectDir) (стало $(ProjectDir);$(IncludePath)) - все "завелось".
...
Получается, что, разным группам исходных файлов проекта, разнесенным по разным каталогам, можно свои собственные прекомпайлед хедеры назначать?
...
Рейтинг: 0 / 0
18.07.2018, 05:12
    #39675340
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
stdafx и вложенные подпапки
КотовасияДа, точно. Добавил в Каталоги С++ -> Включаемые каталоги значение $(ProjectDir) (стало $(ProjectDir);$(IncludePath)) - все "завелось".Если папок много, то в настройках проекта придётся кучу дополнительных каталогов вписывать.
КотовасияПолучается, что, разным группам исходных файлов проекта, разнесенным по разным каталогам, можно свои собственные прекомпайлед хедеры назначать?Да, тогда тоже всё нормально работает и собирается.
...
Рейтинг: 0 / 0
18.07.2018, 12:57
    #39675594
Котовасия
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
stdafx и вложенные подпапки
СЕМЬЕсли папок много, то в настройках проекта придётся кучу дополнительных каталогов вписывать.

...что???
...
Рейтинг: 0 / 0
18.07.2018, 14:32
    #39675676
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
stdafx и вложенные подпапки
КотовасияПолучается, что, разным группам исходных файлов проекта, разнесенным по разным каталогам, можно свои собственные прекомпайлед хедеры назначать?можно, но зачем?
...
Рейтинг: 0 / 0
18.07.2018, 15:24
    #39675712
Котовасия
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
stdafx и вложенные подпапки
egorychКотовасияПолучается, что, разным группам исходных файлов проекта, разнесенным по разным каталогам, можно свои собственные прекомпайлед хедеры назначать?можно, но зачем?
Например, имхо, было бы разумно в отдельной папке файловой системы хранить генерируемый код обслуживания графической подсистемы (который генерируется WxFormBuilder), если в локальный (размещенный в данной папке) stdafx.h строчку
Код: plaintext
1.
#include "wx/wxprec.h"

, то время сборки существенно уменьшится... я проверил. :)
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / stdafx и вложенные подпапки / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]