xcode 16.4 C ++ Получает ошибки связывания в реализациях Common Class (MyClass), где заголовок (myclass.h) содержит определение для публичной функции (foo ();) и файл реализации (myclass.cpp) с помощью void myclass :: foo () {...}.
Есть больше функции в 2 -й файлах, упомянутых выше, без этой задачи.
Showing All Messages
Undefined symbol: MyClass::foo()
< /code>
Файл .cpp является доказанной частью компиляции, потому что есть участники, которые делают компиляцию и связывают, как и ожидалось. Но я не могу найти, где я могу управлять этой настройкой. Есть идеи, как и где?// MyClass.h
class MyClass {
public:
void sayHello() {
std::cout в заголовке < /strong>, компилятор видит полное определение, где бы MyClass.h включен.
Шаг линкера не требуется, чтобы разрешить его. />// MyClass.h
class MyClass {
public:
void sayHello();
};
< /code>
файл 2: myclass.cpp < /p>
// MyClass.cpp
#include "MyClass.h"
#include
void MyClass::sayHello() {
std::cout
[*] Убедитесь, что ваш файл реализации .cpp является частью вашей цели Xcode:
Перейти к Xcode → Select. [b] Целевое членство [/b], убедитесь, что ваша цель проверена. (Это не решение, но обходное обход). < /Li>
< /ol>
Наилучшая практика: < /p>
Используйте файлы заголовков (.h) только для объявлений. Связано с
final binary. < /li>
< /ol>
Обратите внимание на Xcode 16.4. Do: < /p>
Выберите исходный файл. В Project Navigator (левая боковая панель)
нажмите на файл .cpp (например, myclass.cpp), который содержит ваш
implemptionation.
Открыть инспектор файла. Перейдите в правую боковую панель. < /Li>
Если она не видно, нажмите «Опция + команда + 1» или нажмите кнопку «Br /> в правом верхнем правом»:
Это первая вкладка на правой боковой панели,
обычно значок документа (🗎). < /Li>
< /ul,
>
Подробнее здесь: [url]https://stackoverflow.com/questions/79673560/xcode-16-c-link-error-on-class-separation-of-header-h-and-implementation[/url]
xcode 16.4 C ++ Получает ошибки связывания в реализациях Common Class (MyClass), где заголовок (myclass.h) содержит определение для публичной функции (foo ();) и файл реализации (myclass.cpp) с помощью void myclass :: foo () {...}. Есть больше функции в 2 -й файлах, упомянутых выше, без этой задачи.[code] Showing All Messages Undefined symbol: MyClass::foo() < /code> Файл .cpp является доказанной частью компиляции, потому что есть участники, которые делают компиляцию и связывают, как и ожидалось. Но я не могу найти, где я могу управлять этой настройкой. Есть идеи, как и где?// MyClass.h class MyClass { public: void sayHello() { std::cout в заголовке < /strong>, компилятор видит полное определение, где бы MyClass.h включен. Шаг линкера не требуется, чтобы разрешить его. />// MyClass.h class MyClass { public: void sayHello(); }; < /code> файл 2: myclass.cpp < /p> // MyClass.cpp #include "MyClass.h" #include
void MyClass::sayHello() { std::cout
[*] Убедитесь, что ваш файл реализации .cpp является частью вашей цели Xcode:
Перейти к Xcode → Select. [b] Целевое членство [/b], убедитесь, что ваша цель проверена. (Это не решение, но обходное обход). < /Li> < /ol> Наилучшая практика: < /p>
Используйте файлы заголовков (.h) только для объявлений. Связано с final binary. < /li> < /ol> Обратите внимание на Xcode 16.4. Do: < /p>
Выберите исходный файл. В Project Navigator (левая боковая панель) нажмите на файл .cpp (например, myclass.cpp), который содержит ваш implemptionation. Открыть инспектор файла. Перейдите в правую боковую панель. < /Li> Если она не видно, нажмите «Опция + команда + 1» или нажмите кнопку «Br /> в правом верхнем правом»:
Это первая вкладка на правой боковой панели, обычно значок документа (🗎). < /Li> < /ul, >