目录:
cmake 复习一下
文件结构:(两个实验)
文件内容:
Hello.h
#ifndef CMAKER_LEARNING_HELLO_H
#define CMAKER_LEARNING_HELLO_H
class Hello{
public:
void print();
};
#endif //CMAKER_LEARNING_HELLO_H
Hello.cpp
#ifndef CMAKER_LEARNING_HELLO_H
#define CMAKER_LEARNING_HELLO_H
class Hello{
public:
void print();
};
#endif //CMAKER_LEARNING_HELLO_H
main.cpp
#include "../include/Hello.h"
int main(int argc, char *argv[]) {
Hello hi;
hi.print();
return 0;
}
CMakeLists.txt
cmake_minimum_required(VERSION 3.5)
project(hello_headers)
set(
SOURCES
src/Hello.cpp
src/main.cpp
)
add_executable(hello_headers ${SOURCES})
target_include_directories(
hello_headers
PRIVATE
${PROJECT_SOURCE_DIR}/include
)
范例2:
目录:
文件:
Account.h
#ifndef CPP_REVIEW_ACCOUNT_H #define CPP_REVIEW_ACCOUNT_H #includeclass Account{ public: void setName(const std::string&); std::string getName() const; private: std::string name; }; #endif //CPP_REVIEW_ACCOUNT_H
AccountTest.cpp
#include#include "../include/Account.h" using namespace std; std::string Account::getName() const { return name; } void Account::setName(const string& accountName) { name = accountName; }
main.cpp
#include#include #include "../include/Account.h" using namespace std; int main() { Account myAccount; cout << "Initial account name is : " << myAccount.getName() << endl; cout << "nPlease enter the account name: "; string theName; getline(cin, theName); myAccount.setName(theName); cout << "Name in object myAccount is: " << myAccount.getName() << endl; }
CMakelists.txt
cmake_minimum_required(VERSION 3.5)
project(cpp_review)
set(
SOURCES
src/AccountTest.cpp
src/main.cpp
)
add_executable(run_account ${SOURCES})
target_include_directories(
run_account
PRIVATE
${PROJECT_SOURCE_DIR}/include
)



