簡體   English   中英

ipad上的C ++ clang編譯和鏈接,鏈接器問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM