Я работаю над простым консольным приложением для Windows 10, используя vs2022, C++20. Я хотел добавить цвет к тексту консоли, используя windows.h в моем классе Logger. Однако когда я пытаюсь скомпилировать проект, возникает ошибка компоновщика:
LNK2019: unresolved external symbol __imp_MapViewOfFileNuma2 referenced in function MapViewOfFile2
Проблема связана именно с заголовком Windows, поскольку без него все работает нормально.
Мой самый большой вопрос: почему нет проблем, когда я подключаю окна напрямую в main.cpp и вызывать оттуда его функции? И когда я включаю этот заголовок в свой Logger.h даже без каких-либо ссылок на содержимое windows.h, это немедленно вызывает вышеуказанную ошибку компоновщика.
Я пытался удалить заголовок и все ссылается на него, и программа компилируется и запускается.
Я пытался закомментировать все внутри Logger.h и Logger.cpp, так что это пустой класс, но проблема все еще сохраняется.
Пожалуйста, помогите!
// Logger.h
#pragma once
#include
#include
#include
namespace sleepDev
{
class Logger
{
//class content is irrelevant
}
}
// main.cpp
int main(){
// empty
}
Приведенный выше код при компиляции выдает следующую ошибку:
1>Logger.h.obj : error LNK2019: unresolved external symbol __imp_MapViewOfFileNuma2 referenced in function MapViewOfFile2
Полный журнал строительства:
Build started...
1>------ Build started: Project: NewFeaturesTest, Configuration: Debug x64 ------
1>Scanning sources for module dependencies...
1>main.cpp
1>C:\MyFiles\CppCode\NewFeatures\NewFeaturesTest\Table.h(4,1): warning C4067: unexpected tokens following preprocessor directive - expected a newline
1>Table.cpp
1>C:\MyFiles\CppCode\NewFeatures\NewFeaturesTest\Table.h(4,1): warning C4067: unexpected tokens following preprocessor directive - expected a newline
1>TableColumn.cpp
1>Generating Code...
1>Logger.h.obj : error LNK2019: unresolved external symbol __imp_MapViewOfFileNuma2 referenced in function MapViewOfFile2
1>C:\MyFiles\CppCode\NewFeatures\NewFeaturesTest\x64\Debug\NewFeaturesTest.exe : fatal error LNK1120: 1 unresolved externals
1>Done building project "NewFeaturesTest.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
========== Elapsed 00:03,951 ==========
Кстати, следующий код компилируется и работает отлично. Когда все находится внутри main.cpp, не вызывает проблем
#include
#include
#include
class TestClass {
public:
void Print()
{
handle = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(handle, 14);
std::cout
Подробнее здесь: https://stackoverflow.com/questions/781 ... eader-in-c
Как устранить ошибку компоновщика, вызванную включением заголовка Windows в С++ ⇐ C++
Программы на C++. Форум разработчиков
1710671586
Anonymous
Я работаю над простым консольным приложением для Windows 10, используя vs2022, C++20. Я хотел добавить цвет к тексту консоли, используя windows.h в моем классе Logger. Однако когда я пытаюсь скомпилировать проект, возникает ошибка компоновщика:
LNK2019: unresolved external symbol __imp_MapViewOfFileNuma2 referenced in function MapViewOfFile2
Проблема связана именно с заголовком Windows, поскольку без него все работает нормально.
Мой самый большой вопрос: почему нет проблем, когда я подключаю окна напрямую в main.cpp и вызывать оттуда его функции? И когда я включаю этот заголовок в свой Logger.h даже без каких-либо ссылок на содержимое windows.h, это немедленно вызывает вышеуказанную ошибку компоновщика.
Я пытался удалить заголовок и все ссылается на него, и программа компилируется и запускается.
Я пытался закомментировать все внутри Logger.h и Logger.cpp, так что это пустой класс, но проблема все еще сохраняется.
Пожалуйста, помогите!
// Logger.h
#pragma once
#include
#include
#include
namespace sleepDev
{
class Logger
{
//class content is irrelevant
}
}
// main.cpp
int main(){
// empty
}
Приведенный выше код при компиляции выдает следующую ошибку:
1>Logger.h.obj : error LNK2019: unresolved external symbol __imp_MapViewOfFileNuma2 referenced in function MapViewOfFile2
Полный журнал строительства:
Build started...
1>------ Build started: Project: NewFeaturesTest, Configuration: Debug x64 ------
1>Scanning sources for module dependencies...
1>main.cpp
1>C:\MyFiles\CppCode\NewFeatures\NewFeaturesTest\Table.h(4,1): warning C4067: unexpected tokens following preprocessor directive - expected a newline
1>Table.cpp
1>C:\MyFiles\CppCode\NewFeatures\NewFeaturesTest\Table.h(4,1): warning C4067: unexpected tokens following preprocessor directive - expected a newline
1>TableColumn.cpp
1>Generating Code...
1>Logger.h.obj : error LNK2019: unresolved external symbol __imp_MapViewOfFileNuma2 referenced in function MapViewOfFile2
1>C:\MyFiles\CppCode\NewFeatures\NewFeaturesTest\x64\Debug\NewFeaturesTest.exe : fatal error LNK1120: 1 unresolved externals
1>Done building project "NewFeaturesTest.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
========== Elapsed 00:03,951 ==========
Кстати, следующий код компилируется и работает отлично. Когда все находится внутри main.cpp, не вызывает проблем
#include
#include
#include
class TestClass {
public:
void Print()
{
handle = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(handle, 14);
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/78174690/how-do-i-solve-the-linker-error-caused-by-including-windows-header-in-c[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия