Проблема компоновщика при компиляции с добавлением Qt Vs - PullRequest
0 голосов
/ 11 июля 2011

У меня есть логика в файлах .h, и они компилируются без проблем (защита заголовков на месте):

//file _1.h

#ifndef _1_HEADER
#define _1_HEADER
function definition in here
#endif

При попытке включить этот файл и скомпилировать после создания проекта qt в vs iЯ получаю ошибки:
Ошибка 7, ошибка LNK1169: обнаружен один или несколько кратно определенных символов

Я понял идею.Компоновщик жалуется, потому что есть (в этих заголовочных файлах) целые определения функций, но поскольку они защищены, это не должно быть проблемой, особенно когда те же файлы прекрасно компилируются при компиляции как не проект Qt.

1 Ответ

0 голосов
/ 11 июля 2011

Не зная больше о точных ошибках и видя файлы, трудно сказать, но важно отметить, что когда вы используете Qt moc, Meta Object Compiler генерирует для вас определенные файлы, которые включают в себя различныеопределения сигналов и т. д.

Таким образом, если это только Qt, я бы предположил, что это связано с одним из сгенерированных файлов.Вы можете взглянуть на файлы moc_* и ui_* и посмотреть, есть ли очевидная проблема.

Еще один вариант - запустить препроцессор C / C ++ для файла, в котором обнаружена проблема, и выполнить поиск.различные определения, пока вы не сможете определить, откуда они берутся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...