Tôi đang cố gắng cài đặt gtest bằng trình quản lý gói của mình Home Brew nhưng không có kho lưu trữ cho nó. Tôi cố gắng để tải về gtest frome code.google nhưng tôi cannt hiểu làm thế nào để cài đặt nó, vì cmake và làm doesnt giải quyết vấn đềLàm thế nào để cài đặt GTest trên Mac OS X với homebrew?
Trả lời
Đối với câu hỏi 'Tại sao không có kho lưu trữ cho nó?' xem related gtest FAQ question. Nhưng bạn có thể tự tạo công thức nếu muốn - xem this post để biết chi tiết (nhưng không chắc liệu nó có hoạt động được không).
Nhưng tôi khuyên bạn chỉ nên cài đặt gtest: đọc readme để được hướng dẫn chi tiết. Có vài bước đơn giản:
Tải xuống và trích xuất các nguồn vào một số thư mục gtest_dir
.
file đối tượng xây dựng:
g++ -I$gtest_dir/include -I$gtest_dir -c $gtest_dir/src/gtest-all.cc
g++ -I$gtest_dir/include -I$gtest_dir -c $gtest_dir/src/gtest_main.cc
Link:
ar -rv libgtest.a gtest-all.o
ar -rv libgtest_main.a gtest_main.o
Note: nếu bạn muốn xây dựng gtest với sự hỗ trợ của C++ 11 và libC++ bạn cần phải làm một số việc làm thêm :
- patch gtest-port.h
- xây dựng bằng cách sử dụng
clang++ -std=c++11 -stdlib=libc++
thay vìg++
Tôi chỉ cần cài đặt gtest sử dụng cmake và thực hiện. Tôi có thể chỉ cho bạn cách cài đặt Google Test theo cách thủ công. Nó không phức tạp, chỉ cần làm theo các bước.
- tải xuống tệp gtest từ https://github.com/google/googletest/archive/release-1.8.0.zip và giải nén tệp đó.
cd googletest-release-1.8.0/googletest/ mkdir bld cd bld cmake .. make cp -a ../include/gtest /usr/local/include cp -a *.a /usr/local/lib
- xóa thư mục
googletest-release-1.8.0
vàrelease-1.8.0.zip
Nếu bạn muốn sử dụng google-test xin vui lòng sử dụng #include <gtest/gtest.h>
.
Nếu bạn muốn sử dụng Google Test phiên bản 1.7.0, chỉ cần tải xuống release-1.7.0.zip
và trong bước 2. sử dụng cd googletest-release-1.7.0
thay vì cd googletest-release-1.8.0/googletest/
. Các bước còn lại là như nhau.
Hãy tận hưởng!
Nếu bạn muốn phiên bản mới nhất mà không sử dụng Homebrew:
git clone https://github.com/google/googletest
cd googletest
mkdir build
cd build
cmake ..
make
make install
Đó là khó chịu vì bao gồm Makefile (tính đến 2/4/16) tạo ra một thư viện cho gtest_main, nhưng không phải cho gtest tất cả. Ngoài ra, hầu hết các hướng dẫn đều đề cập đến tên libgtest, dường như không tồn tại trừ khi bạn chỉ định thủ công, như trong câu trả lời của bạn. Cảm ơn vì những lời khuyên! –