- See Full List On Github.com
- After Fifteen Years, Ars Says Goodbye To John Siracusa's OS X ..
- Cached
- Goodbye (mezzanine) Mac Os 11
Apr 26, 2021 If your Mac is using an earlier version of any Mac operating system, you should install the latest Apple software updates, which can include important security updates and updates for the apps that are installed by macOS, such as Safari, Books, Messages, Mail, Music, Calendar, and Photos. And started to feel inspired by the idea of using and open source operating system. (Windows and MacOS are closed source operating systems, Linux is the most well known open source operating system.) So, I decided to use Virtual Box on my mac to run a Linux distribution called 'Elementary OS', and the experience sucked. Don't miss your last chance to order these MAC Cosmetics makeup products - the ultimate beauty deal. Marked up to 40% off, free shipping.
This document shows how to create and download project files for use with the Mac tools from the command line.
Before following these instructions, you should have already downloaded and installed the CLion software (if you haven't, go back and do so).
Section 1) Testing the Mac and Clang
In this section you will create and run a trivial C++ project/program (including editing it, and seeing how syntax errors are reported).
First, we will perform a one-time only setup.
- Start a Terminal by clickich the (Mac Terminal icon) on the Dock.
Perform the following actions in your come directory (mine is Richards-MacBook-Air: ~richardepattis).
- Use any editor (vi is automatically available on the Mac; other editors can be downloaded) to update your ~/.bash_profile file to contain the following line at the end (or put it after the other PATH settings in that file; e.g., copy/paste it):
- Terminate the Terminal and start a new Terminal (which executes the ~/.bash_project file automatically).
- Type echo $PATH and ensure the path you added appears.
Now we will create directories for use in ICS-46, and create a trivialtest project to ensure the required operations work correctly.
- Make an empty directory for all ICS-46 Projects (ics46projects) using the mkdir command.
- Connect to the ics46projects directory using the cd command.
- Make an empty directory for the Trivial Test Project (trivialtest) using the mkdir command.
- Connect to the trivialtest project directory using the cd command.
- Use any editor to create a main.cpp file that contains the following code (e.g., copy/paste it):
- Create a CMakeLists.txt file that contains the following code (e.g., copy/paste it):
- List the contents of the ics46project/trivialtest directory storing these two files, by using the ls command.
- Create the make files needed for this project, by using the cmake . command (remember, you will do this just the first time you use a project).
- List the contents of the ics46project/trivialtest directory storing the new files it creates (and the new CMakeFiles directory), by using the ls command.
- Build the trivialtest file needed to execute this program, by using the make command (you will do this each time that you modify a .cpp file in a project).
- List the contents of the ics46project/trivialtest directory storing the new file it creates, by using the ls command.
- Run the trivialtest executable file, by using the ./trivialtest command.
The following ~/ics46projects/trivialtest Terminal window shows all these actions (D through O).
- Use the finder to navigate to the Macintosh HD/users/yourname/ics46projects/trivialtest directory.
Ducky (mysticdolphin) mac os. The following Finder should appear on your screen.
You can use any combination of Mac OS and Terminal command lines to manipulate the files in this directory: whichever is simplest.
It would also be useful to make an alias to this ics46projects folder and place it conveniently on the desktop, so you can easliy reach the projects you are working on.
- Edit, rebuild, and rerun the main.cpp program,
- Use an editor to change the cout to print 'Goodbye, World!'.
- Show the main.cpp program file, by using the more command.
- Rebuild the trivialtest file using the same make command. There is no reason to use the cmake command here: it must be used only if we change the CMakeLists.txt file.
- Rerun the edited trivialtest file, by using the ./trivialtest command.
The following ~/ics46projects/trivialtest Terminal window shows all these actions.
- Create a syntax error (remove the ; at the end of the cout line), and then follow the rebuilding/rerunning steps above The following ~/ics46projects/trivialtest Terminal window shows all these actions.
The failed results of attempting to rebuild the program appear after the make command. In this case, the Clang compiler accurately indicates the source of the error. I have lengthened the window so as not cause lines to wrap.
Section 2) Testing Downloadable Projects with the Course Libraries
See Full List On Github.com
In this section you will download the course libraries and then download/build/run a project that contains various programs that use these libraries.
- If you have not already done so, make an alias to the folder Macintosh HD/users/yourname/ics46projects named named ics46projects and place it on your desktop.
- Download and unzip the file template; Copy its three directories (courselib, googletestlib, and test_all_data_types) into the directory that ics46projects aliases; it should already contain the trivialtest directory, created by the operations above.
Generally, whenever you download projects, you will unzip them and then copy their directories into the directory that ics46projects shortcuts.
The following ~/ics46projects Terminal window lists these four directories.
- Connect to the test_all_data_types directory, by using the cd command. Hint: type only cd te and then press the tab key and Terminal should complete the name of this directory; generally using tab for directory/file name completion can drastically reduce your typing in Terminal.
List the contents of the ics46project/test_all_data_types directory, by using the ls command. Notice that this project folder contiains various .cpp files and a CMakeLists.txt file
The following ~/ics46projects/test_all_data_types Terminal window shows all these actions.
- Edit the driver.cpp file by uncommenting lines 30-35, so they appear as follows
- Build and run the main.cpp program,
- Create the make files needed for this project, by using the cmake . command (recall you will do this just the first time you use a project).
- Build the test_all_data_types file needed to execute this program, by using the make command (you will do this each time that you modify a .cpp file in a project).
- Run the test_all_data_types executable file, by using the ./test_all_data_types command (remember to use command-completion to reduce your typing: but since many file names start with test_ you will have to type test_d (a unique prefix for the exe file) before pressing tab.
The following ~/ics46projects/test_all_data_types Terminal window shows all these actions.
Experiment with this driver by entering commands (and their arguments, when prompted) to better understand the set data type. You can enter the q command to terminate the driver, or you can type command-c to terminate the driver.
I suggest that you try terminating the driver with a q command; then, rerun the program and terminate it with command-c.
- Using the ics46projects alias (you created in step 1), naviagate to the test_all_data_types project folder.
The following window should appear on your screen.
- Double-click the test_all_data_types file to run this program in a Terminal window. The following Terminal window should appear on your screen.
You can use all commands except the lf command, which is explained below. Then terminate the Terminal window.
- Find the input files directory in the test_all_data_types folder and copy all of its .txt data files up one level in the directory (the one that contains the test_all_data_types file).
Then, run the program from a Terminal window (connnected to the test_all_data_types directory) issue the lf command (load from file); when prompted for the file name, just press the enter key to choose the default (loadset.txt).
The following ~/ics46projects/test_all_data_types Terminal window shows all these actions.
Note that because the directory name input files contains a space, it appears in double quotes ('input files') in this and most Terminal commands.
IMPORTANT: If a program reads data files, the root directory for the specifying the files is the directory in which the executable file appears. It is simplest to copy all the data files into this directory. An alternative would be to leave the files in the input files directory, and enter their names like input files/loadset.txt (note no quotes are needed here: this is not a Terminal command).
When you double-click an executable file to run it (as you did in Step 7) it does not run the program in the expected directory; so a program run this way cannot correctly read files in that directory!
- A typical project folder may have more than one .cpp file with a main function (as test_all_data_types has). Only one of these .cpp files can have its main function uncommented, otherwise the build will fail. When working on project, it is typical to
- Comment-out code in one .cpp file.
- Uncomment code in another .cpp file.
- Rebuild/Rerun the newly uncommented .cpp file.
In the test_all_data_types project folder, the driver.cpp file has many main functions: we uncommented one (in step 4) to allow us to run the Set driver. If more than one main function is uncommented, attempting to build the code will result in the compiler specifying a redefinition of 'main' error.
The test_all_data_types project folder also contains many .cpp files (their names all start with test) that each contain one main function (each is a Googletest for one data type). If more than one file contains a main function, attempting to build the code will result in the linker specifying a multiple definition of 'main' error.
To switch this project from running the Set driver to the Set Googletest
- Edit the driver.cpp file and comment-out lines 30-35.
- Edit the test_set.cpp file and uncomment all its lines.
Most program editors have a special command that allows commenting on selected lines to be toggeled.
Rebuild/Rerun the newly uncommented .cpp file.
The following ~/ics46projects/test_all_data_types Terminal window shows all these actions.
- IMPORTANT:When downloading all other project folders, Mac users must remove the following two lines from their CMakeLists.txt files.
These two lines are necessary on PCs to find the Clang C and C++ compilers, but they are not necessary on Macs. I want to supply just one download, and it is easier for Mac users to remove these two lines than for PC users to add them.
For this document, I provided a link to Mac-compatible CMakeLists.txt files, so this operation was unneeded.
We are now at the end of this handout. You will not need to repeat the first two sections during the course, but you will frequently download project folders and use them as demonstrated in section 2.
Is your Mac up to date with the latest version of the Mac operating system? Is it using the version required by a product you want to use with your Mac? Which versions are earlier (older) or later (newer, more recent)? To find out, learn which version is installed now.
If your macOS isn't up to date, you may be able to update to a later version.
Which macOS version is installed?
From the Apple menu in the corner of your screen, choose About This Mac. You should see the macOS name, such as macOS Big Sur, followed by its version number. If you need to know the build number as well, click the version number to see it.
What is the latest macOS version?
After Fifteen Years, Ars Says Goodbye To John Siracusa's OS X ..
These are all Mac operating systems, starting with the most recent. When a major new macOS is released, it gets a new name, such as macOS Big Sur. As updates that change the macOS version number become available, this article will be updated to show the latest version of that macOS.
Cached
If your Mac is using an earlier version of any Mac operating system, you should install the latest Apple software updates, which can include important security updates and updates for the apps that are installed by macOS, such as Safari, Books, Messages, Mail, Music, Calendar and Photos.
Before following these instructions, you should have already downloaded and installed the CLion software (if you haven't, go back and do so).
Section 1) Testing the Mac and Clang
In this section you will create and run a trivial C++ project/program (including editing it, and seeing how syntax errors are reported).
First, we will perform a one-time only setup.
- Start a Terminal by clickich the (Mac Terminal icon) on the Dock.
Perform the following actions in your come directory (mine is Richards-MacBook-Air: ~richardepattis).
- Use any editor (vi is automatically available on the Mac; other editors can be downloaded) to update your ~/.bash_profile file to contain the following line at the end (or put it after the other PATH settings in that file; e.g., copy/paste it):
- Terminate the Terminal and start a new Terminal (which executes the ~/.bash_project file automatically).
- Type echo $PATH and ensure the path you added appears.
Now we will create directories for use in ICS-46, and create a trivialtest project to ensure the required operations work correctly.
- Make an empty directory for all ICS-46 Projects (ics46projects) using the mkdir command.
- Connect to the ics46projects directory using the cd command.
- Make an empty directory for the Trivial Test Project (trivialtest) using the mkdir command.
- Connect to the trivialtest project directory using the cd command.
- Use any editor to create a main.cpp file that contains the following code (e.g., copy/paste it):
- Create a CMakeLists.txt file that contains the following code (e.g., copy/paste it):
- List the contents of the ics46project/trivialtest directory storing these two files, by using the ls command.
- Create the make files needed for this project, by using the cmake . command (remember, you will do this just the first time you use a project).
- List the contents of the ics46project/trivialtest directory storing the new files it creates (and the new CMakeFiles directory), by using the ls command.
- Build the trivialtest file needed to execute this program, by using the make command (you will do this each time that you modify a .cpp file in a project).
- List the contents of the ics46project/trivialtest directory storing the new file it creates, by using the ls command.
- Run the trivialtest executable file, by using the ./trivialtest command.
The following ~/ics46projects/trivialtest Terminal window shows all these actions (D through O).
- Use the finder to navigate to the Macintosh HD/users/yourname/ics46projects/trivialtest directory.
Ducky (mysticdolphin) mac os. The following Finder should appear on your screen.
You can use any combination of Mac OS and Terminal command lines to manipulate the files in this directory: whichever is simplest.
It would also be useful to make an alias to this ics46projects folder and place it conveniently on the desktop, so you can easliy reach the projects you are working on.
- Edit, rebuild, and rerun the main.cpp program,
- Use an editor to change the cout to print 'Goodbye, World!'.
- Show the main.cpp program file, by using the more command.
- Rebuild the trivialtest file using the same make command. There is no reason to use the cmake command here: it must be used only if we change the CMakeLists.txt file.
- Rerun the edited trivialtest file, by using the ./trivialtest command.
The following ~/ics46projects/trivialtest Terminal window shows all these actions.
- Create a syntax error (remove the ; at the end of the cout line), and then follow the rebuilding/rerunning steps above The following ~/ics46projects/trivialtest Terminal window shows all these actions.
The failed results of attempting to rebuild the program appear after the make command. In this case, the Clang compiler accurately indicates the source of the error. I have lengthened the window so as not cause lines to wrap.
Section 2) Testing Downloadable Projects with the Course Libraries
See Full List On Github.com
In this section you will download the course libraries and then download/build/run a project that contains various programs that use these libraries.
- If you have not already done so, make an alias to the folder Macintosh HD/users/yourname/ics46projects named named ics46projects and place it on your desktop.
- Download and unzip the file template; Copy its three directories (courselib, googletestlib, and test_all_data_types) into the directory that ics46projects aliases; it should already contain the trivialtest directory, created by the operations above.
Generally, whenever you download projects, you will unzip them and then copy their directories into the directory that ics46projects shortcuts.
The following ~/ics46projects Terminal window lists these four directories.
- Connect to the test_all_data_types directory, by using the cd command. Hint: type only cd te and then press the tab key and Terminal should complete the name of this directory; generally using tab for directory/file name completion can drastically reduce your typing in Terminal.
List the contents of the ics46project/test_all_data_types directory, by using the ls command. Notice that this project folder contiains various .cpp files and a CMakeLists.txt file
The following ~/ics46projects/test_all_data_types Terminal window shows all these actions.
- Edit the driver.cpp file by uncommenting lines 30-35, so they appear as follows
- Build and run the main.cpp program,
- Create the make files needed for this project, by using the cmake . command (recall you will do this just the first time you use a project).
- Build the test_all_data_types file needed to execute this program, by using the make command (you will do this each time that you modify a .cpp file in a project).
- Run the test_all_data_types executable file, by using the ./test_all_data_types command (remember to use command-completion to reduce your typing: but since many file names start with test_ you will have to type test_d (a unique prefix for the exe file) before pressing tab.
The following ~/ics46projects/test_all_data_types Terminal window shows all these actions.
Experiment with this driver by entering commands (and their arguments, when prompted) to better understand the set data type. You can enter the q command to terminate the driver, or you can type command-c to terminate the driver.
I suggest that you try terminating the driver with a q command; then, rerun the program and terminate it with command-c.
- Using the ics46projects alias (you created in step 1), naviagate to the test_all_data_types project folder.
The following window should appear on your screen.
- Double-click the test_all_data_types file to run this program in a Terminal window. The following Terminal window should appear on your screen.
You can use all commands except the lf command, which is explained below. Then terminate the Terminal window.
- Find the input files directory in the test_all_data_types folder and copy all of its .txt data files up one level in the directory (the one that contains the test_all_data_types file).
Then, run the program from a Terminal window (connnected to the test_all_data_types directory) issue the lf command (load from file); when prompted for the file name, just press the enter key to choose the default (loadset.txt).
The following ~/ics46projects/test_all_data_types Terminal window shows all these actions.
Note that because the directory name input files contains a space, it appears in double quotes ('input files') in this and most Terminal commands.
IMPORTANT: If a program reads data files, the root directory for the specifying the files is the directory in which the executable file appears. It is simplest to copy all the data files into this directory. An alternative would be to leave the files in the input files directory, and enter their names like input files/loadset.txt (note no quotes are needed here: this is not a Terminal command).
When you double-click an executable file to run it (as you did in Step 7) it does not run the program in the expected directory; so a program run this way cannot correctly read files in that directory!
- A typical project folder may have more than one .cpp file with a main function (as test_all_data_types has). Only one of these .cpp files can have its main function uncommented, otherwise the build will fail. When working on project, it is typical to
- Comment-out code in one .cpp file.
- Uncomment code in another .cpp file.
- Rebuild/Rerun the newly uncommented .cpp file.
In the test_all_data_types project folder, the driver.cpp file has many main functions: we uncommented one (in step 4) to allow us to run the Set driver. If more than one main function is uncommented, attempting to build the code will result in the compiler specifying a redefinition of 'main' error.
The test_all_data_types project folder also contains many .cpp files (their names all start with test) that each contain one main function (each is a Googletest for one data type). If more than one file contains a main function, attempting to build the code will result in the linker specifying a multiple definition of 'main' error.
To switch this project from running the Set driver to the Set Googletest
- Edit the driver.cpp file and comment-out lines 30-35.
- Edit the test_set.cpp file and uncomment all its lines.
Most program editors have a special command that allows commenting on selected lines to be toggeled.
Rebuild/Rerun the newly uncommented .cpp file.
The following ~/ics46projects/test_all_data_types Terminal window shows all these actions.
- IMPORTANT:When downloading all other project folders, Mac users must remove the following two lines from their CMakeLists.txt files.
These two lines are necessary on PCs to find the Clang C and C++ compilers, but they are not necessary on Macs. I want to supply just one download, and it is easier for Mac users to remove these two lines than for PC users to add them.
For this document, I provided a link to Mac-compatible CMakeLists.txt files, so this operation was unneeded.
We are now at the end of this handout. You will not need to repeat the first two sections during the course, but you will frequently download project folders and use them as demonstrated in section 2.
Is your Mac up to date with the latest version of the Mac operating system? Is it using the version required by a product you want to use with your Mac? Which versions are earlier (older) or later (newer, more recent)? To find out, learn which version is installed now.
If your macOS isn't up to date, you may be able to update to a later version.
Which macOS version is installed?
From the Apple menu in the corner of your screen, choose About This Mac. You should see the macOS name, such as macOS Big Sur, followed by its version number. If you need to know the build number as well, click the version number to see it.
What is the latest macOS version?
After Fifteen Years, Ars Says Goodbye To John Siracusa's OS X ..
These are all Mac operating systems, starting with the most recent. When a major new macOS is released, it gets a new name, such as macOS Big Sur. As updates that change the macOS version number become available, this article will be updated to show the latest version of that macOS.
Cached
If your Mac is using an earlier version of any Mac operating system, you should install the latest Apple software updates, which can include important security updates and updates for the apps that are installed by macOS, such as Safari, Books, Messages, Mail, Music, Calendar and Photos.
Goodbye (mezzanine) Mac Os 11
macOS | Latest version |
---|---|
macOS Big Sur | 11.2.3 |
macOS Catalina | 10.15.7 |
macOS Mojave | 10.14.6 |
macOS High Sierra | 10.13.6 |
macOS Sierra | 10.12.6 |
OS X El Capitan | 10.11.6 |
OS X Yosemite | 10.10.5 |
OS X Mavericks | 10.9.5 |
OS X Mountain Lion | 10.8.5 |
OS X Lion | 10.7.5 |
Mac OS X Snow Leopard | 10.6.8 |
Mac OS X Leopard | 10.5.8 |
Mac OS X Tiger | 10.4.11 |
Mac OS X Panther | 10.3.9 |
Mac OS X Jaguar | 10.2.8 |
Mac OS X Puma | 10.1.5 |
Mac OS X Cheetah | 10.0.4 |