[英]C++ clang compiling & linking on ipad, Linker issue
請您告訴我如何在編譯和鏈接 my_class.cpp 和 my_class.h 類文件時編譯和運行 main.cpp,請注意這是使用“thebaselab”的“代碼”應用程序在 iPad 上運行的,它有離線 clang++ 13.0. 開發人員說它可以使用以下方法工作,但是沒有輸出。
我單獨編譯:
clang++ main.cpp -c
clang++ my_class.cpp - c
它似乎產生了 main.o 和 my_class.o 文件,所以我可以使用:
clang++ main.o my_class.o
這似乎沒有作為無輸出運行,請您告知您是否可以在我的代碼或編譯中看到問題。?
我相信將這些文件鏈接在一起存在問題,因為當我在 main 中定義類時沒有問題。
我的代碼庫:
主文件
// Created on iPad.
#include <iostream>
#include <vector>
#include "my_class.h"
using namespace std;
int main() {
cout << "Hey\n";
my_class obj1 = my_class("test");
obj1.display();
cout << "Hello World!";
return 0;
}
my_class.h
#ifndef _my_class_H_
#define _my_class_H_
class my_class
{
private:
std::string name = "";
public:
my_class(std::string name_tmp); // No-args constructor // Copy constructor
~my_class(); // Destructor
void display();
};
#endif
my_class.cpp
#include <iostream>
#include "my_class.h"
// 1-args constructor
my_class::my_class(std::string name_tmp){
name = name_tmp;
}
// Destructor
my_class::~my_class() {
std::cout << "Destructing\n";
}
void my_class::display(){
std::cout << name << "\n";
}
感謝@Quimby,
我運行了 clang++ -o a.out main.o my_class.o 然后只運行了 a.out,它可以在我的 iPad 上運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.