sungyongcho님과 taelee님의 사이트를 참고하며 mlx의 창을 띄우려는 시도를 하였다.

하지만 위와 같은 오류가 뜨면서 컴파일이 되지 않았다.

내가 구성하려던 코드는 그저 아래와 같이 창을 초기화시키고 화면에 창을 띄우는 간단한 명령이었는데, 컴파일 조차 되지 않았던 것이다..

gcc -L../mlx_new/ -lmlx -framework OpenGL -framework AppKit main.c
/* ************************************************************************** */
/*                                                                            */
/*                                                        :::      ::::::::   */
/*   main.c                                             :+:      :+:    :+:   */
/*                                                    +:+ +:+         +:+     */
/*   By: junghan <[email protected]>       +#+  +:+       +#+        */
/*                                                +#+#+#+#+#+   +#+           */
/*   Created: 2021/02/17 17:33:20 by junghan           #+#    #+#             */
/*   Updated: 2021/02/17 18:54:33 by junghan          ###   ########.fr       */
/*                                                                            */
/* ************************************************************************** */

#include "../mlx_new/mlx.h"

intmain(void)
{
void*mlx;
void*win;

mlx = mlx_init();
win = mlx_new_window(mlx, 500, 500, "mlx");
mlx_loop(mlx);
}

슬랙을 뒤져가며 해결법을 찾는데, 컴파일시 dylib에러가 날 시, 링크가 잘못되어있을 확률이 높다고 설명된 글이 있어 구글링을 하여 어떻게 링크를 수정하는지 검색하였습니다.

오류의 원인은 앞서 본 글 그대로 동적 라이브러리가 경로를 잘못 링크하고 있는 경우 이미지를 찾을 수 없다는 오류가난다고 설명 되어 있었고,

"동적 라이브러리가 의존하고 있는 다른 동적 라이브러리의 경로는 otool을 이용해서 정보를 얻을 수 있습니다"

라는 글을 토대로 명령어를 사용하여 연결된 링크 목록을 나열하였습니다.

otool -L 실행파일

실행파일과 연결되어야할 libmlx.dylib가 경로 없이 파일 이름으로만 저장되어 있는 것을 확인한 뒤,

install_name_tool -change libmlx.dylib ../mlx_new/libmlx.dylib a.out
install_name_tool -change (otool상 위치) (실행파일 기준 libmlx가 있는 위치) (실행파일)

위의 명령어로 실행시켜주니