[Linker Error] Unresolved external
Что делать??? Перекопал справку - а толку? :(
Сам прикол в том, что у меня 2500 строк - и вручную искать и выявлять ошибку - это пипец...
Посмотрел в интеренете - большинство ссылается мол на отключение "Build with Run-Time Packages"...
Есть другой вариант - я что-то не с тем плюсую (складываю), но вот что - как узнать? ((((((
__fastcall System:: operator +(const wchar_t *, const System::WideString&)
а на самом деле её реализации нет.
1. Если сам писал - значит, или реализацию не написал, или не написал что это функция класса System (или неймспейса - не шарю че за System) .
2. Если функция системная - значит какая-то (в котрой есть реализация этой функции) из библиотек не линкуется.
Ты где-нибудь в файле Unit1.cpp или Unit1.h переопределяешь оператор +?
Итак, проблема была в несоответствии типов при складывании, а именно:
БЫЛО:
AnsiString s=<строка типа WideString>+char(9)+<строка типа WideString>;
ПЕРЕДЕЛАЛ:
AnsiString s=<строка типа WideString>+AnsiString(char(9))+<строка типа WideString>;
Ну и как это можно было отыскать? :)
если строки не отображаются в ошибках, покопаться в настройках дебаггера. с ходу не вспомню какой флажок и где нужно поставить.
Не показывается номер строки - вот в чем беда...
если строки не отображаются в ошибках, покопаться в настройках дебаггера. с ходу не вспомню какой флажок и где нужно поставить.
Дебаггер не запускается - приложение даже не компилируется...
PS: уже решил этот вопрос ;) можно закрыть тему
PSS: а как тему закрыть-то? :)
если строки не отображаются в ошибках, покопаться в настройках дебаггера. с ходу не вспомню какой флажок и где нужно поставить.
Походу на ошибки линкера никогда такой фичи не видел :))
Может перепутал процесс компиляции с линковкой? ;)
посмотреть на номер строки указанный в ошибке. или кликнуть 2 раза на ошибку в списке. так и отыскать.Не показывается номер строки - вот в чем беда...
В том то и дело, что ошибки линковки обнаруживаются, когда "номера строк" уже отсутствуют. Короче - пишется только модуль, а там мучайся сам :(
Есть такой прикол в Билдере. Специально для классов AnsiString и WideString. Походу там не совсем корректно объявлена "дружественная" классу AnsiString функция (файл dstring.h) и её аналог для WideString (wstring.h - там вообще комментарий "!! not implemented?")
В то время как все остальные функции объявлены как extern PACKAGE. Соответственно, код функции "сложения" указателя со строкой линковщик не находит.
По этой причине я давно уже многоуровневые сложения строк не делаю. Использую функцию Format со строкой подстановки и массивом параметров. Вот только значения типа WideString не обрабатываются
P.S.
А для простоты работы эти "проблемные" функции в указанных файлох лучше вообще закомментировать. Тогда будут ошибки компиляции, которые исправлять проще простого